Week 13 — Readings & Resources · Algorithms: Searching & Sorting + Intro to Complexity
Course: Introduction to Computer Science — CS1 / Programming Fundamentals in Python (CSCI 1101) · Silver Oak University (fictional sample) · Prof. Okafor
Objective covered: Objective 8 — linear & binary search; a simple sort; counting comparisons; Big-O (intuitive)
How to use this page
Everything here is a link to an external resource — open it in your browser; nothing to install. The fastest way to learn this week is to run the examples yourself in the online editor.
Order that matches the lecture: ① linear vs. binary search → ② a simple sort → ③ Big-O (complexity).
① Searching
Read & do — "Linear Search" (Programiz DSA)
🔗 https://www.programiz.com/dsa/linear-search
Why it's assigned: the plainest description of checking each element in turn, with Python code you can run.
⏱ ~8 min
Read & do — "Binary Search" (Programiz DSA)
🔗 https://www.programiz.com/dsa/binary-search
Why it's assigned: the source for this week's headline idea — it states outright that binary search can be implemented only on a sorted list — with the same iterative Python we used in class.
⏱ ~12 min
② A Simple Sort
Read & do — "Selection Sort" (Programiz DSA)
🔗 https://www.programiz.com/dsa/selection-sort
Why it's assigned: shows the "find the smallest and put it in place" loop-inside-a-loop that gives selection sort its O(n²) feel.
⏱ ~10 min
Reference — "Python sort() / sorted()" (W3Schools)
🔗 https://www.w3schools.com/python/ref_list_sort.asp
Why it earns the click: Python's built-in way to sort a list (so binary search has a sorted list to work on).
⏱ ~4 min
③ Big-O (Intuitive)
Read — "Asymptotic (Big-O) Notation" (Programiz DSA)
🔗 https://www.programiz.com/dsa/asymptotic-notations
Why it's assigned: a gentle intro to O(1), O(log n), O(n), O(n²) — read it for the intuition (how the work grows), not the math proofs (those are CS2).
Optional one-stop references (free online)
- What is an algorithm? (Programiz DSA) a one-page primer. 🔗 https://www.programiz.com/dsa/algorithm
- Run your code: 🔗 https://www.online-python.com/ · Visualize it: 🔗 https://pythontutor.com/
Pick-one quick path (≈15 min total)
- Read "Binary Search" (Programiz) and run its Python on a sorted list, adding a comparison counter (group ①).
- Skim "Asymptotic Notation" for the intuition behind O(n) vs. O(log n) vs. O(n²) (group ③).
Heads-up (links rot): if a link ever fails, tell Prof. Okafor and use the official Python Tutorial (docs.python.org/3/tutorial) in the meantime.
~ Prof. Okafor's edition · Fall 2026 · built with thecoursemaker.com