Table of Contents
TEACHING UNIT 1. INTRODUCTION TO SOFTWARE DEVELOPMENT
1. The concept of computer software
2. Source code, object code and executable code; virtual machines
3. Types of programming languages
4. Characteristics of the most widely used languages
5. Stages in the development of an application
TEACHING UNIT 2. THE SOFTWARE DEVELOPMENT PROCESS
1. Software life cycle models
2. Requirements analysis and specification
3. Design
4. Implementation. General concepts of software development
5. System validation and verification
6. Software testing
7. Software quality
8. Commonly used tools for software development
9. Software development project management
TEACHING UNIT 3. OBJECT-ORIENTED PROGRAMMING
1. Principles of object-oriented programming. Comparison with structured programming
2. Types of objects
3. Objects
4. Inheritance
5. Modularity
6. Genericity and overloading
7. Object-oriented development
8. Modelling languages in object-oriented development
TEACHING UNIT 4. DATA MODELS
1. Data lifecycle
2. Data types
3. Definition of a conceptual model
4. The relational model
5. Building the logical data model
6. The physical data model
7. Transformation from a logical model to a physical data model
8. Tools for creating data models
TEACHING UNIT 5. STRUCTURED PROGRAMMING TECHNIQUES
1. Identifying basic elements: constants, variables, operators and expressions
2. Analysis of control structures: Sequential, conditional and loop structures
3. Distinction between functions and procedures
4. Demonstration of function and procedure calls
5. Using function and procedure calls within classes
TEACHING UNIT 6. OBJECT-ORIENTED PROGRAMMING LANGUAGES
1. Analysis of object-oriented programming languages and the object-oriented paradigm
2. A comparison of the most common object-oriented programming languages. Key features
3. Class libraries