#acl All:read = Core Computing Syllabus = ||<:> '''Topic''' ||<:> '''1911<
>Computing 1A''' ||<:> '''1921<
>Computing 1B''' ||<:> '''1917<
>Computing 1''' ||<:> '''1927<
>Computing 2'''||<:> '''2911<
>Design in<
>Computing'''|| || [[#Introtolabs|Intro to labs]] || (./) week 0 || || (./) week 0 || || || [[#Compiling|Compiling]] <
> gcc and/or eclipse || (./) || || (./) || || || [[#ProblemSolving|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) || || || || (./) || || 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) ==== ==== analysing complexity (a postori) ====