Skip to content

Latest commit

 

History

History
47 lines (32 loc) · 2.65 KB

File metadata and controls

47 lines (32 loc) · 2.65 KB

Level 4 Software Engineering

Table of Contents

1. COMP1000 Software Engineering 1

1.1 Provisional Course Outline

1.2 Recommended Resources

COMP1000 - Software Engineering 1

This module exposes students to the principles of software design and construction. The basics of constructing source code to solve a problem will be introduced, exposing students to common control structures alongside concepts such as types and generics. Major programming paradigms such as object orientation and functional programming are introduced. Additionally, key software development tools and methods are explored.

This year we will be using the C and C++ languages. This provides a bottom-up approach to programming which hopefully demystifies some of the concepts met in computer science and programming.

C++ can be thought of as a super-set of the C language. We will start with C, and learn to program with a procedural style. We will then build on this and learn about object orientated programming with C++

Provisional Course Outline

Week Title Topics
1. Introduction Getting Setup: Using the development tools, including the build tools, version control and debugger;
Variables and arithmetic Using the development tools to use variables to store and manipulate numerical values
2. Iteration while loops, do-while loops
for loops, break and continue
3. Flow Control Conditions and Comparisons using if-else if-else
switch-case
4. Arrays, Strings and Pointers Statically allocated arrays, C strings and C++ strings.
5. Functions Syntax, factoring code
Splitting code across modules
Variable Scope
6 User and File IO Terminals and File IO in C and C++
7 Structures and C++ Classes structures, simple classes, encapsulation, objects, statics
8 Object Orientated Programming (OOP) Inheritance, composition, overloading, overriding
9 GUI OOP OOP with Qt Widgets
10 Functional Programming C++ closures, recursive programming

Recommended Resources

For the fundamentals of the C programming language and basic programming concepts, we recommend the following.

C & GUI Programming 1st Edition, https://magpi.raspberrypi.com/books/c-gui-programming

For C++, we recommended the following:

W3 schools C++ Tutorial