Israel Bagrut Computer Science 5 Units study materials
Israel Bagrut Computer Science 5 Units study resources

Israel Bagrut Computer Science 5 Units study plan

Israel Bagrut Computer Science 5 Units · Give each week a clear focus.

8 weeks · About 7 hours per week

Week 1

Algorithms and Problem Solving & Programming in a High-Level Language (Java/C#)

  • Implement, from a blank editor, correct Java or C# solutions for linear search, binary search, and selection/insertion sort, and trace each on a 10-element array by hand

  • Decompose three multi-step word problems into sub-problems and write pseudocode for each before coding

  • Analyze the time complexity of every solution you wrote this week and justify the bound in one sentence

  • Set up a personal code template (input reading, output formatting, main method) that compiles and runs without edits

Your checkpoint

A folder of 8 working, self-tested programs with a one-line complexity note per program

Week 2

Algorithms and Problem Solving & Data Structures

  • Implement dynamic arrays (add, remove, get, resize) from scratch and test edge cases: empty, full, index 0, last index

  • Implement a singly linked list with insert-at-head, insert-at-index, delete, and reverse, and verify each against hand-drawn pointer diagrams

  • Solve five recursion problems (factorial, Fibonacci, binary search, Towers of Hanoi, permutations) and draw the recursion tree for each

  • Compare array vs linked list on insert, delete, and random access, writing a table of complexity results

Your checkpoint

A written comparison table plus a test log showing at least 20 passing assertions across your array and linked-list classes

Week 3

Data Structures & Algorithms and Problem Solving

  • Implement a stack and a queue both on arrays and on linked lists, then use the stack to check balanced brackets and the queue to simulate a print spooler

  • Implement merge sort and quicksort, and count comparisons on best, average, and worst inputs for each

  • Implement a hash table with separate chaining, handle collisions, and measure load-factor effects on lookup time

  • Trace by hand the state of a stack and a queue through a 12-operation sequence and confirm your trace matches your code's output

Your checkpoint

A benchmark report with measured comparison counts for merge sort and quicksort on sorted, reverse-sorted, and random inputs of size 100, 1000, and 10000

Week 4

Object-Oriented Programming and Design & Programming in a High-Level Language (Java/C#)

  • Model a small system (library, bank, or parking lot) as a class diagram with at least 6 classes, showing inheritance, composition, and interfaces

  • Implement that model in Java or C# using encapsulation, an abstract base class, and at least one interface, with no public fields

  • Refactor one working program to remove duplicated code using inheritance or composition, and document the before/after structure

  • Write a short justification for each design decision, including why you chose inheritance versus composition in two specific places

Your checkpoint

A working 6-class OOP project with a class diagram and a one-page design rationale

Week 5

Computational Models and Algorithmic Efficiency & Theory of Computation and Formal Languages

  • Construct deterministic finite automata for at least six stated languages and convert two of them to regular expressions

  • Convert two NFAs to DFAs using subset construction, showing every intermediate state set

  • Write a regular expression for a given language and explain why a language such as a^n b^n is not regular

  • Classify ten problems by complexity class (constant, logarithmic, linear, n log n, quadratic, exponential) from their code alone

  • Explain the halting problem and why it is undecidable, in your own words, in under 150 words

Your checkpoint

A handwritten-style solutions sheet with six automata, two subset-construction tables, and ten complexity classifications, all self-checked

Week 6

Algorithms and Problem Solving & Computational Models and Algorithmic Efficiency

  • Solve three algorithmic design problems by choosing between greedy, divide-and-conquer, and dynamic programming, and justify the choice

  • Implement one dynamic-programming solution (for example, longest common subsequence or knapsack) with both a memoized and a tabulated version

  • Compute the exact number of operations for two algorithms on input size n and derive their asymptotic bounds formally

  • Identify and fix one accidental quadratic loop in code you wrote earlier

Your checkpoint

A DP solution in two versions with a written recurrence relation and a proof sketch of correctness

Week 7

Computer Systems and Architecture & Ethics, Social Implications, and Information Security

  • Convert between binary, decimal, and hexadecimal, and perform two's-complement addition and subtraction on 8-bit numbers

  • Explain the roles of CPU, registers, cache levels, RAM, and secondary storage, and describe the fetch-decode-execute cycle step by step

  • Write a short analysis of a real security failure (for example, SQL injection or weak password storage) identifying the vulnerability, impact, and correct mitigation

  • State the main legal and ethical obligations around personal data and unauthorized access in the Israeli context, and apply them to two short scenarios

  • List five common web vulnerabilities and the defensive coding practice that prevents each

Your checkpoint

A two-page security and ethics brief covering three scenarios, each with a named vulnerability, its consequence, and a concrete mitigation

Week 8

Software Engineering and Project Development & Algorithms and Problem Solving & Object-Oriented Programming and Design

  • Run a full timed mock exam under real conditions and score it against a rubric you write yourself

  • Review every wrong answer, classify the error as conceptual, careless, or time-management, and redo those items

  • Produce a one-page revision sheet of formulas, complexity classes, and design principles you keep forgetting

  • Write a short project-development retrospective covering requirements, design, implementation, and testing stages for the project you built in week 4

Your checkpoint

A scored mock exam with an error log and a one-page final revision sheet

Milestones

Week 2: You can implement binary search, a dynamic array, and a linked-list reversal from memory in under 30 minutes total, with all tests passing

Week 4: Your OOP project compiles, runs, and its class diagram matches the code, with every class justified in the rationale

Week 6: You can derive the time complexity of unfamiliar code and choose correctly between greedy and dynamic programming on three new problems

Week 8: Your timed mock exam score is at least 75 percent, and no error in the log is classified as conceptual more than once