Course: Intro to Computer Science (Malmö Högskola):
A very general overview of computer science from machine, operating systems, networks, applications...
4. Communication Layer
html, xhtml, xml
Protocols
Http, Soap,
web services
Service
Description
WSDL, SDL
Security
Encryption
Internationalization
Browser
Interpretation
And
rendering
Client Server
Web services
Databases
Server
Cloud
Built on top of other layers (hardware, information, application,…)
5. W3C: Standardization
W3C standards define an Open Web Platform for application development that
has the unprecedented potential to enable developers to build rich interactive
experiences, powered by vast data stores, that are available on any device.
Although the boundaries of the platform continue to evolve, industry leaders
speak nearly in unison about how HTML5 will be the cornerstone for this platform.
But the full strength of the platform relies on many more technologies that W3C
and its partners are creating, including CSS, SVG, WOFF, the Semantic Web stack,
XML, and a variety of APIs.
The W3C mission is to lead the
World Wide Web to its full potential
by developing protocols and guidelines
that ensure the long-term growth of the Web.
Cannot communicate without common standard
www.w3c.org
7. Hardware: Moore’s Law
The complexity for minimum
component costs has increased at a
rate of roughly a factor of two per
year.
Gordon Moore:
"Cramming more components onto
integrated circuits",
Electronics Magazine 19 April 1965
10. Information Layer
Gates' law
is a variant on Wirth's law, borrowing its name from Bill Gates,[7] the founder
of Microsoft. It is a humorous and ironic observation that the speed of
commercial software generally slows by 50% every 18 months, thereby
negating all the benefits of Moore's law. This could occur for a variety of
reasons: "featuritis", "code cruft", developer laziness, or a management
turnover whose design philosophy does not coincide with the previous
software is getting slower more
rapidly than hardware becomes faster
Wirth’s Law
15. Operating Systems
Unix(officially trademarked as UNIX) is a multitasking, multi-user computer
operating system originally developed in
1969 by a group of AT&T employees at Bell Labs,
including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy,
Michael Lesk and Joe Ossanna
linux
Mac OS x Solarius
16. Programming Layer
This is where you tell the hardware how to solve it
Questions
Answers
Input
Output
You have a problem to solve
Analysis of Problem
Translation
17. Programming Layer
Understanding the problem
Devising a plan
Carrying out the plan
Examine the solution obtained
1. Analysis and Specification Phase
1. Analysis: Understand the problem
2. Specification: Specify the problem that the program is to solve
2. Algorithm Development Phase
1. Develop Algorithm: Divide and conquer
with known algorithms and data structures
1. Test Algorithm: does it really solve the problem)
3. Implementation Phase
1. Code and Test Cycle
4. Maintenance Phase
1. Use and Maintain
Key step
19. Programming Layer
Data Structures (Abstract Data Types)
Key to
Representation:
Algorithms act
on the data
structures
Stack
Queue
List, Set
Linked list tree
graph