Syllabus




Document: Software Engineering 1: Course Notes

next Instructors
up Software Engineering 1: Course Notes
gif Introduction

Syllabus

(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

next Instructors
up Software Engineering 1: Course Notes
gif Introduction



McMullin@eeng.dcu.ie
Fri Feb 23 10:09:05 GMT 1996