OAE Computer Science study materials
OAE Computer Science study resources

OAE Computer Science study plan

OAE Computer Science · Give each week a clear focus.

8 weeks · About 7 hours per week

Week 1

Fundamentals of Computer Science and Algorithms & Data Structures and Algorithm Analysis

  • Define and contrast core data structures (arrays, linked lists, stacks, queues, hash tables, trees, graphs) by writing a one-page comparison table from memory

  • Trace at least 6 sorting algorithms (bubble, selection, insertion, merge, quick, heap) by hand on the same 8-element array and record comparison/swap counts

  • Analyze time and space complexity of each traced algorithm using Big-O, Big-Theta, and Big-Omega notation

  • Implement a hash table with separate chaining in a language of choice and document collision behavior under load

Your checkpoint

A 10-page handwritten/typed algorithm trace notebook with Big-O analysis for 6 sorting algorithms and one working hash table implementation with a short written complexity justification.

Week 2

Fundamentals of Computer Science and Algorithms & Data Structures and Algorithm Analysis

  • Derive recurrence relations for merge sort and binary search and solve them using the Master Theorem and substitution method

  • Classify P, NP, NP-complete, and NP-hard problems and place 8 named problems into the correct class with justification

  • Trace breadth-first search and depth-first search on a 10-node graph, listing traversal order and parent pointers

  • Compute minimum spanning trees using both Prim's and Kruskal's algorithms on the same weighted graph

  • Explain binary search tree operations (insert, delete, search) including all three deletion cases

Your checkpoint

A problem set of 12 solved exercises covering recurrences, complexity classes, graph traversals, and MSTs, with each answer showing work, not just a final answer.

Week 3

Fundamentals of Computer Science and Algorithms & Programming and Program Development

  • Write recursive and iterative implementations of binary search, factorial, Fibonacci, and tree traversal, then compare their stack usage

  • Implement a balanced tree (AVL or red-black) insert and delete with rotation logic, and verify balance factors after each operation

  • Translate a plain-language problem statement into pseudocode, then into working code, then into a set of unit tests

  • Debug 5 deliberately broken programs using a debugger (breakpoints, watch variables, call stack) and document each root cause

Your checkpoint

A code repository with 4 algorithm implementations, a balanced-tree module passing at least 15 unit tests, and a debugging log of 5 fixed defects with root-cause notes.

Week 4

Programming and Program Development

  • Compare procedural, object-oriented, and functional paradigms by writing the same small program in all three styles and annotating the tradeoffs

  • Explain and demonstrate value vs reference semantics, parameter passing modes, and scope/shadowing with runnable examples

  • Apply the four OOP pillars (encapsulation, inheritance, polymorphism, abstraction) in a single class hierarchy and identify each in code

  • Handle exceptions and errors correctly in at least 3 failure scenarios, including resource cleanup

  • Use a version control workflow (branch, commit, merge, resolve one conflict) on a practice repository

Your checkpoint

A written paradigm comparison report (600+ words) plus a small multi-file program demonstrating OOP, exception handling, and a merged feature branch with resolved conflict.

Week 5

Programming and Program Development & Computer Systems, Networks, and Security

  • Describe the software development life cycle phases and map at least 3 development models (waterfall, agile, spiral) to realistic project scenarios

  • Write test cases for boundary values, equivalence partitions, and error conditions for a given specification, and distinguish unit vs integration vs system testing

  • Convert numbers among binary, octal, decimal, and hexadecimal, and perform two's complement arithmetic including overflow detection

  • Explain how source code becomes an executable: preprocessing, compilation, assembly, linking, and loading

  • Distinguish compilers vs interpreters and static vs dynamic typing with concrete language examples

Your checkpoint

A 15-question self-authored practice quiz (with answer key and explanations) on program development, testing, and compilation, scoring at least 85% on your own quiz after a 24-hour delay.

Week 6

Computer Systems, Networks, and Security

  • Diagram the fetch-decode-execute cycle and explain the roles of PC, IR, ALU, registers, and cache levels

  • Compute memory hierarchy performance (hit/miss rates, average access time, speedup) for at least 4 worked scenarios

  • Explain pipelining, hazards, and the difference between RISC and CISC with examples

  • Compare process vs thread, describe context switching, and explain scheduling and deadlock conditions

  • Trace virtual memory translation from virtual address to physical address using a page table, including TLB behavior

Your checkpoint

A one-page architecture cheat sheet plus 8 fully worked numerical problems on cache performance, pipelining speedup, and address translation.

Week 7

Computer Systems, Networks, and Security

  • Map the OSI and TCP/IP models layer by layer and place at least 10 protocols (HTTP, HTTPS, DNS, DHCP, TCP, UDP, IP, ARP, ICMP, TLS) in the correct layer with function

  • Trace a full request path from browser URL to rendered page, naming each protocol and device involved

  • Subnet IPv4 networks: given a CIDR block, compute network address, broadcast address, usable host range, and number of hosts for at least 5 problems

  • Distinguish symmetric vs asymmetric encryption, hashing, and digital signatures, and identify where each is used in TLS

  • Explain common attack categories (phishing, SQL injection, XSS, MITM, DoS, ransomware) and match each to a concrete mitigation

Your checkpoint

A network-and-security reference document containing the layered protocol map, 5 solved subnetting problems, and a 10-row attack-to-mitigation table.

Week 8

Fundamentals of Computer Science and Algorithms & Programming and Program Development & Data Structures and Algorithm Analysis & Computer Systems, Networks, and Security

  • Take two full-length timed practice tests under exam conditions and log every missed question by domain

  • Re-teach the 10 weakest concepts from memory in writing, then verify against source material

  • Re-solve all previously missed numerical problems (complexity, cache, subnetting) without notes

  • Build a one-page final review sheet covering the highest-yield formula and definition per domain

Your checkpoint

A scored practice-test log showing at least 80% overall with no domain below 70%, plus a completed one-page final review sheet.

Milestones

Week 2: Score at least 75% on a self-made 20-question quiz on algorithms and complexity, and correctly solve both merge-sort recurrence and one MST problem unaided.

Week 4: Demonstrate a working balanced-tree module and a merged Git branch; explain aloud (or in writing) all four OOP pillars using your own code as evidence.

Week 6: Correctly solve 7 of 8 architecture numerical problems and reproduce the fetch-decode-execute diagram from memory.

Week 7: Correctly solve 5 of 5 subnetting problems and place all 10 listed protocols in the right layer without notes.

Week 8: Achieve at least 80% overall on a full timed practice test with every domain at or above 70%, and complete the final review sheet.