Skip to content

Latest commit

 

History

History
48 lines (33 loc) · 2.53 KB

File metadata and controls

48 lines (33 loc) · 2.53 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. Flow Control Conditions and Comparisons using if-else if-else
switch-case
3. Iteration while and do-while loops
for loops and goto
4. Functions Syntax, factoring code
Splitting code across modules
Variable Scope
5 Arrays, strings and pointers C arrays; C strings, C++ strings
Pointer fundamentals
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