F21SF - Software Engineering Foundations
Course leader(s):
Syllabus
1. OOP Introduction (1.1 OOP program, 1.2 Writing statements, 1.3 Variable types, 1.4 Using version control)
2. Classes (2.1 Objects, 2.2 Attributes and methods, 2.3 Using language classes, 2.4 UML Sequence diagram)
3. Procedural programming (3.1 Sequence, 3.2 Selection, 3.3 Iteration, 3.4 UML Activity diagram)
4. Collections (4.1 Arrays, 4.2 Collection types, 4.3 List classes)
5.1 Reading/writing files, 5.2 Exception handling
6. Object Relationships (6.1 Association, 6.2 Aggregation and composition, 6.3 UML class diagrams)
7. Inheritance (7.1 Class extension, 7.2 Polymorphism, 7.3 Interfaces, 7.4 UML class diagrams)
8. Graphical User Interfaces (8.1 GUI components and API, 8.2 Event-based interaction)
9. Testing (9.1 Software lifecycle, 9.2 Unit testing, 9.3 System testing)
Learning outcomes
By the end of the course, students should be able to do the following:
- Demonstrate an understanding of foundational Object-Oriented Programming (OOP) concepts such as variables, procedural programming, attributes, methods and classes to write core software programs.
- Demonstrate an understanding of intermediary OOP concepts, such as cohesion, decoupling, relationships, inheritance, polymorphism and interfaces to construct software systems.
- Use the Unified Modelling Language (UML) and its core diagrams to conceptualise OOP software systems.
- Implement OOP principles to build maintainable and extendable software systems.
- Compose with Application Programming Interfaces (API) to create software components, such as managing data structures or making Graphical User Interface (GUI) prototypes.
- Employ incremental coding practices to improve code functionality and quality by applying OOP principles.
- Evaluate software components and features using testing strategies to assess software quality.
- Critically appraise OOP principles and technologies to address software requirements effectively and appropriately and reflect on coding practices.
Further details
Curriculum explorer: Click here
SCQF Level: 11
Credits: 15