Professional Documents
Culture Documents
Cs101 Lec45.pps
Cs101 Lec45.pps
Lecture 45
Review & Wrap-Up
1
During the last lecture we discussed
Programming Methodology
• We looked at a few effective programming
practices that result in the development of
correct programs with minimum effort
2
readable
A program that is easy
to read & understand,
program?
and therefore, easy to
maintain & enhance
3
Readable programs are:
- more readable
- efficient enough
4
Design Guidelines
• Break your code down into short and simple
functions (e.g. take the 3 swap statements out
from the last example and put them into a
function of their own)
5
Coding Guidelines
• Indent blocks of code (2 to 5 spaces)
• Identifiers:
– Use the camelBack scheme
– Make them descriptive but concise
– Variables: nouns
– Functions: verbs
• Comment liberally 6
Guidelines for Developing Short Programs
• Syntax errors
• Semantic errors
• Run-time errors
10
Today’s Goal:
(Review & Wrap-Up)
11
Course Objectives
13
fast
bored
storage 14
What type of
problems are not
suitable for
computers?
15
Progression of Computer Technology
1. Mechanical computing
2. Electro-mechanical
3. Vacuum tube
4. Transistor
(the current state-of the-art)
5. Quantum computing 16
Quantum Computers
• Quantum computers may one day be millions of
times more efficient than the current state-of-
the-art computers …
17
The World Wide Web
• A huge resource of info
18
The Semantic Web
Whereas, today’s Web’s content is
designed for humans to read; the
Semantic Web’s content will be designed
for computers to understand meaningfully
19
Internet: Network of Networks
25
Hardware
Device Driver
Operating System
System software
Application software
26
The Role of An OS
27
Who Owns Software?
• Generally, although a piece of SW that is being
used by millions, it is not owned by any of them!
28
4th-generation languages
High-level languages
Assembly languages
Machine languages
29
Interpreters:
Immediate response,
but
execute code slowly
Compilers:
Compiling takes time,
but
super-fast execution 30
Can a single
language have all
the good bits of all
other languages?
31
Concept & Feasibility
Software
User Requirements
Lifecycle
Test
Developer Specs
Test
Planning
Test
Design
Test
Implementation
Test
Integration Testing
Acceptance Test Opr. & Maintenance
Retirement
Algorithm
1st Definition:
Sequence of steps that is taken
to solve a problem
Better Definition:
A precise sequence of a limited
number of unambiguous, executable
steps that terminates in the form of a
solution
33
Pseudo Code
• Quite suitable for SW development as it is
closer in form to real code
35
Caution! Caution!
Heuristics don’t always
lead to the best results
At times they even lead to the
wrong ones, but mostly to
results that are good-enough
36
Don’t just remove
the defect; correct
the process that
caused it
37
is a heuristic,
an algorithm?
38
When I look at a Web page it should be
self-evident, obvious, self-explanatory
39
Avoid using
pictures that
are strictly
decorative
40
(Artificial) Intelligent Systems
41
Not a Suitable Hammer for All Nails!
if the nature of computations required in a
task is not well understood
43
Relational Databases
• Databases consisting of two or more related
tables are called relational databases
44
Future Trends:
On-Demand Computing Power
• Almost infinite “computing power” supply
46
Distances Are Contracting!
Distances Are Increasing!
• Because of the ever-decreasing costs of verbal,
text, video communications, it is becoming
easier to stay in touch of anyone, regardless of
their physical location
48
Course Objectives
1.
2. To achieve a beginners proficiency in
Web page development
3.
49
Why JavaScript?
• HTML is great for static Web pages; however,
supports only rudimentary interactivity through
forms and hyperlinks
50
Some of things that JavaScript cannot do!
• The following file ops. on the client computer:
– Read -- Modify
– Rename -- Delete
– Create
52
Object: A named collection of properties
(data, state) & methods (instructions, behavior)
A collection
All objects have the
of properties
“name” property: it
& methods
holds the name of
the object (collection)
name method 2
prop 1
prop 3 prop 5
prop 2
method 1 prop 4 method 3
53
Functions
• A named group of statements that is put
together once and then used (by reference)
repeatedly on a Web page
54
Local and Global Variables
Global Variables
Visible everywhere on the Web page
55
Image Preloading
• The Image object can be used to download an
image into the cache before it is actually
needed for display
56
Course Objectives
1.
2.
3. To become familiar with popular PC
productivity software
57
Productivity SW
• The lectures and assignments were designed to
give a brief introduction, and no more
• With time, you will find more and more use for
these packages, and gradually develop an
expertise that later will become very useful in
your career 58
Course Objectives
60
• I have enjoyed doing this course with you very
much