Syllabus
Document: Software Engineering 1: Course Notes
Instructors
Software Engineering 1: Course Notes
Introduction
(Under Construction...)
This section is subject to further revision.
- Background:
- Introduction to stored program digital
computers. Historical perspectives. The nature of software
engineering: issues of cost, reliability and efficiency. The
von Neumann architecture, and the idea of a sequential machine.
Evolution of computers and programming languages.
- Characters and Text:
- Computerised text. Characters and
character sets. The 7-bit ASCII character set. Text files. Text
editing. Directories. Text files as computer programs: the
concepts of translation, execution, and debugging. The use of
an Integrated Development Environment (IDE).
- Identifiers:
- Concept of identifiers. File and
directory names as identifiers. Identifier uniqueness. Syntax of
identifiers in C programs. Reserved identifiers
in C (keywords). Conventions and guidelines on identifier usage.
- Data:
- Concepts of data type, constants, and variables.
Type int. int constants and range. Declaring
variables.
- Operators:
-
Arithmetic operators:
+ (addition),
- (subtraction),
* (multiplication),
/ (quotient),
% (remainder).
Negative operands: direction of quotient truncation and sign of
remainder. Exceptions: overflow and divide-by-zero. int
values corresponding to "truth" and "falsehood".
Equality operators:
== (equal to),
!= (not equal to).
Relational operators:
> (greater than),
>= (greater than or equal to),
< (less than),
<= (less than or equal to).
Logical operators:
&& (AND),
|| (OR),
! (negation).
- Expressions:
- Forming expressions. Concept of expression
evaluation. Sequential nature of expression evaluation. Order of
evaluation: operator precedence and associativity; forcing
associativity with parentheses.
- Assignment:
- The concept of assignment. Operator side
effects. The assignment operator (=): evaluation and side
effects. Increment (++) and decrement (-) operators.
Type unsigned int; type conversion.
- Programs:
- Skeleton structure of a C program: the
main function. Declarations and statements. Comments. The
concept of flow of control. Types of statements: expression,
if, if-else and switch statements. Compound
statements. The idea of iteration and the while statement.
Symbolic constants and #define. Input and output by direct
modification and examination of variables within an Integrated
Development Environment. Monitoring execution: tracing and breakpoints.
- Development Cycle:
- Specification. Algorithm design.
Coding. Compilation and linkage. Testing: selection of test
cases. Exception handling. Defensive design. Debugging.
Document: Software Engineering 1: Course Notes
Instructors
Software Engineering 1: Course Notes
Introduction
McMullin@eeng.dcu.ie
Fri Feb 23 10:09:05 GMT 1996