OAE Computer Science study plan
OAE Computer Science · Give each week a clear focus.
8 weeks · About 7 hours per week
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.
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.
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.
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.
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.
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.
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.
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.