ITM200 - Midterm Notes

171 views11 pages

For unlimited access to Study Guides, a Grade+ subscription is required.

ITM200 – Midterm Notes
Chapter 1 – Solving problems with computers
Computer
oGeneral-purpose device that behaves according to the sets of
instructions and data it is provided with
oExecute instructions to process data
oHas a central processing unit (CPU)
Computer program
oConsists of a sequence of these instructions which include 0’s and 1’s
(binary bit patterns)
oBad about writing programs with binary:
Extremely time-consuming, costly in terms of staff time, effort,
financial cost
Meaningless to human readers
Not portable
Classes
oOne class must have the same name as the program itself
oShould have a method called main(); where the program starts
oAll program instructions must be inside methods, which are inside
classes
Software development activities
oIncludes:
Analysis and modeling
An analyst or team of analysts perform a study of the
real-world system that a computer system is to be
developed to support
System design
Based on some form of model and analysis, a design for
the computer system can be created
Implementation
A system design is implemented in a particular
programming language (or several, for complex systems)
Testing and evaluation
The complete implemented system, or parts of it, are
tested with real data
Maintenance and enhancement
Unlock document

This preview shows pages 1-3 of the document.
Unlock all 11 pages and 3 million more documents.

Already have an account? Log in
Studies have shown that at least 70% of the costs
associated with software projects are incurred after the
system has been deployed
The work done after deployment is usually called
maintenance
Types of software development
oThree main types:
Totally informal
The programmer gets an idea in his or her head about
how the program should work and sits in from of a
computer typing a program
Structured (semi-formal)
A step-by-step design procedure is followed, often
involving modeling the system to be constructed
Using a combination of rules and intuition, the models are
transformed into a program
Formal (mathematical)
The system is modeled mathematically, then transformed
in a rigorous way into a program
The result is a program which is provably correct
Object orientation
oA philosophy and a modeling technique
oUseful for:
Improving the quality of computer software production
Reducing the cost of computer software production
Understanding and designing complex systems
Planning and managing corporate data and databases
Chapter 2 – Algorithms and programs
Problem solving
oFour steps to solving a problem:
Understand the problem
Work out a plan
Sort out the details
Test and evaluate
oTo understand a program, you need to ask:
What information do you know?
What do you want to happen?
How can one lead to the other?
Algorithms
Unlock document

This preview shows pages 1-3 of the document.
Unlock all 11 pages and 3 million more documents.

Already have an account? Log in
oSet of instructions for solving a problem
oConsists of the actions to do and the order in which to do them
oAn algorithm should be:
Complete
Covers all the parts
Shouldn’t be possible to get into a situation where the
algorithm doesn’t tell you what to do
Unambiguous
There is no doubt about what it does
Everyone should agree on what each instruction means
and the order in which they are to be carried out (there
should be no dispute)
Deterministic
Only one possible result
If the same data is input, the same result should be
obtained
Finite
It should finish
When following the algorithm, you should eventually
finish and not end up following instructions forever
Developing algorithms by refinement
oEach instruction represents a sub-problem of the original problem
oTrying to improve the initial algorithm
oAlgorithms have much in common with computer programs:
Data
Set of items which are operated on by the algorithm
These items are input to the algorithm
Process
List of instructions which, if carried out (executed), will
achieve the desired result
Output
There is an output from the execution of the algorithm
Subprograms
oInstructions in an algorithm may themselves stand for algorithms
oBy writing sub-algorithms:
The main algorithm will be more brief
The main algorithm will be easier to understand, as the code for
the sub-algorithm is not cluttering up
The sub-algorithm can be used over and over again (reuse)
oParameters:
Unlock document

This preview shows pages 1-3 of the document.
Unlock all 11 pages and 3 million more documents.

Already have an account? Log in

Get access

Grade+
$10 USD/m
Billed $120 USD annually
Homework Help
Class Notes
Textbook Notes
40 Verified Answers
Study Guides
1 Booster Class