F27SA - Software Development 1

To be announced
Cristina Turcanu
Kayvan Alireza Karim
Mehran Sharghi
Thomas Methven

Course leader(s):

Aims

To introduce the object-oriented paradigm and the use of an object-oriented language.

Syllabus

1. Introduction and Familiarisation (1.1 1. Introduction to the Programming Language, 1.2 2. Introduction to IDEs, 1.3 3. Introduction to version control)

2. Fundamental Elements of Programming (2.1 1. Values, 2.2 2. Data Types, 2.3 3. Variables, 2.4 4. User Input)

3. Control Flow Statements (3.1 1. Conditional Execution, 3.2 2. Switch-case Statements, 3.3 3. Iteration)

4. More Complex Control Flow (4.1 1. Iteration and conditional execution, 4.2 2. Continue/Break, 4.3 3. Nested Loops)

5.1 1. Introduction to Arrays, 5.2 2. Multi-Dimensional Arrays

6. Methods (6.1 1. What is a Method?, 6.2 2. Passing Values to Methods, 6.3 3. Returning Values, 6.4 4. Variable Scope)

7. Objects and Classes (7.1 1. What is an Object?, 7.2 2. Objects vs Classes, 7.3 3. Making Objects, 7.4 4. Using Objects)

8. Inheritance (8.1 1. Super and Subclasses, 8.2 2. How to Inherit, 8.3 3. Polymorphism, 8.4 4. Method Overriding)

9. Using Objects (9.1 1. Encapsulation, 9.2 2. Abstraction, 9.3 3. Collections and Wrapper Classes)

10. Exceptions and Strings (10.1 1. Exceptions vs Errors, 10.2 2. Handling Exceptions, 10.3 3. Try-Catch, 10.4 4. Using Strings)

Learning outcomes

By the end of the course, students should be able to do the following:

Further details

Curriculum explorer: Click here

SCQF Level: 7

Credits: 15