Core Computing Syllabus
Topic |
1911BRComputing 1 |
1921BRComputing 2 |
1917BRHigher Computing 1 |
||
Intro to labs |
|
|
|
|
|
Compiling BR gcc and/or eclipse |
|
|
|
|
|
Problem SolvingBRtopdown, systematic |
|
|
|
|
|
Problem SolvingBRabstraction |
|
|
|
|
|
if/then/else, chained ifs, while loops, function calls |
|
|
|
||
primative types |
|
|
|
|
|
typecasting |
|
|
|
|
|
pointers |
|
|
|
|
|
pass by reference/pass by value |
|
|
|
|
|
arrays |
|
|
|
|
|
arrays 2D+ |
|
|
|
|
|
strings (basic) |
|
|
|
|
|
strings (advanced) BR subtle problems with terminating byte |
|
|
|
|
|
pointer arithmetic (brief) |
|
|
|
|
|
structure of memory |
|
|
|
|
|
dynamic memory allocation |
|
|
|
|
|
stack frames |
|
|
|
|
|
stack overflow security |
|
|
|
|
|
recursion (intro) |
|
|
|
|
|
linked lists |
|
|
|
|
|
adts (intro) |
|
|
|
|
|
trees (intro building traversing) |
|
|
|
|
|
graphs (intro using adjacency matrix) |
|
|
|
|
|
adts (using, constructing) |
|
|
|
|
|
stacks, queues |
|
|
|
|
|
recursion |
|
|
|
|
|
time and space complexity |
|
|
|
|
|
big oh notation |
|
|
|
|
|
analysing complexity (a priori) |
|
|
|
|
|
analysing complexity (a postori) |
|
|
|
|
|
big oh notation |
|
|
|
|
|
bfs dfs search |
|
|
|
|
|
trees and tree algorithms |
|
|
|
|
|
self balancing trees |
|
|
|
|
|
graphs and graph algorithms |
|
|
|
|
|
c99 extensions |
|
|
|
|
|
for, switch |
|
|
|
|
|
intro to unstructured commands |
|
|
|
|
|
style |
|
|
|
|
|
documentation |
|
|
|
|
|
unit testing |
|
|
|
|
|
systematic debugging |
|
|
|
|
|
programming in groups |
|
|
|
|
Intro to labs
Compiling [[BR]] gcc and/or eclipse
Problem Solving[[BR]]topdown, systematic
Problem Solving[[BR]]abstraction
if/then/else, chained ifs, while loops, function calls
primative types
typecasting
pointers
pass by reference/pass by value
arrays
arrays 2D+
strings (basic)
strings (advanced) [[BR]] subtle problems with terminating byte
pointer arithmetic (brief)
structure of memory
dynamic memory allocation
stack frames
stack overflow security
recursion (intro)
linked lists
adts (intro)
trees (intro building traversing)
graphs (intro using adjacency matrix)
adts (using, constructing)
stacks, queues
recursion
time and space complexity
big oh notation
analysing complexity (a priori)
analysing complexity (a postori)
big oh notation
bfs dfs search
trees and tree algorithms
self balancing trees
graphs and graph algorithms
c99 extensions
for, switch
intro to unstructured commands
style
documentation
unit testing
systematic debugging