Core Computing Syllabus
Topic |
1911 |
1921 |
1917 |
1927 |
2911 |
week 0 |
|
week 0 |
|
||
Compiling |
|
|
|
|
|
Problem Solving |
|
|
|
|
|
Problem Solving |
|
|
|
|
|
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) |
|
|
|
|
|
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
finding labs, logging in, booking terminals, selecting gui, reading email, starting browser, starting x terminal, printing, ssh and pico and sftp from home
Compiling - gcc and/or eclipse
what compilation means. preprocessor. compiling. linking. source file, machine code, object files, flags (-Wall -Werror -o -O) interpreting compiler error messages. compiling at home. students must be able to run the compiler themselves, understand and use the appropriate flags, and be able to interpret useful information from error messages.
Problem Solving - topdown, systematic
Problem Solving - 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) - 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)