Week 9 — Readings & Resources · Lists
Course: Introduction to Computer Science — CS1 / Programming Fundamentals in Python (CSCI 1101) · Silver Oak University (fictional sample) · Prof. Okafor
Objective covered: Objective 6 — create, index, slice, mutate, and iterate lists; reason about aliasing vs. copying.
How to use this page
Everything here is a link to an external resource — open it in your browser. Nothing needs to be downloaded or installed; the Python environments below run in the browser.
This week's load is light but hands-on: read one good list walkthrough, then build and break lists in the editor. The fastest way to learn lists is not to read about them — it's to type nums = [10, 20, 30], change it, and watch what each method does. So keep your editor open the whole time.
Order that matches the lecture: ① create / index / slice → ② mutate & list methods → ③ iterate (and the mutate-while-iterating gotcha) → ④ aliasing vs. copying.
A habit to keep: never trust an output you didn't run. Before you believe what a page (or a chatbot) says a list contains after some operations, paste it into the runner and run it yourself — especially anything about b = a.
① Create, Index & Slice a List
Maps to Lecture Segments 2–3. A list is an ordered collection in
[...]; you read items by index (nums[0],nums[-1]) and slice them (nums[1:3], stop excluded — same rules as strings).
Read & do — "Python List (With Examples)" (Programiz)
🔗 https://www.programiz.com/python-programming/list
Why it's assigned: the cleanest single walkthrough of everything this week — creating a list, indexing (including negative indexes), slicing with the exclusive stop, changing items, and the core methods, each with a tiny runnable example and the exact output. Read the top half now (Create → Access → Slicing → Change Items); the methods half maps to group ②.
⏱ ~12 min
Run Python in your browser — a free online editor (no install)
🔗 https://www.online-python.com/
Why it earns the click: this is where you build and mutate lists all week. Type nums = [10, 20, 30], then nums.append(40), then print(nums) and watch it grow. (A second option, if you ever want it: 🔗 https://www.programiz.com/python-programming/online-compiler — same idea.)
⏱ 2 min to open and run your first list
② Mutate & List Methods
Maps to Lecture Segment 4. Lists are mutable —
nums[0] = 9rewrites a slot — and methods likeappend,insert,pop,remove, andsortchange the list in place.
Reference — "More on Lists" (official Python Tutorial, §5.1)
🔗 https://docs.python.org/3/tutorial/datastructures.html
Why it's assigned: the source of truth for what each list method does, straight from the people who make Python. Read §5.1 "More on Lists" — the method list (append, insert, pop, remove, sort, …) and the one-line "what it does." Note the docs' own warning that methods like sort and append return None (they change the list rather than hand a new one back) — a favorite chatbot trip-up. (The whole Data Structures chapter starts here; lists are §5.1.)
⏱ ~8 min
Read & do — "Python Lists" (W3Schools)
🔗 https://www.w3schools.com/python/python_lists.asp
Why it earns the click: a friendly, click-through tour of lists with a green "Try it Yourself" button on every example, so you run each list operation right on the page. Do the "Lists," "Access List Items," and "Change List Items" pages, then the method pages (append, insert, remove, pop). Great for fast reps.
⏱ ~10 min
③ Iterate · and ④ Aliasing vs. Copying
Maps to Lecture Segments 5–7. Loop a list with
for; beware mutating while iterating; and understand whyb = aaliases (two names, one list) whileb = a[:]copies.
See it run, step by step — Python Tutor (the aliasing visualizer)
🔗 https://pythontutor.com/
Why it earns the click: the single best way to see aliasing. Paste a = [1, 2] / b = a / b.append(3) / print(a) and click forward — you'll watch both names a and b draw arrows to the same list box, so when b grows, a grows too. Then change line 2 to b = a[:] and watch two separate boxes appear. This picture is the whole lesson of the week.
⏱ ~6 min — paste the aliasing example and step through it
Read — "for loop" + iterating a list (Programiz)
🔗 https://www.programiz.com/python-programming/for-loop
Why it's assigned: a quick refresher on looping (from Week 6) applied to lists — for item in my_list: to total, count, or find a max. The "Iterating Through a List" idea on the list page above is the companion. Keep this one if you want the loop mechanics fresh.
⏱ ~6 min
Optional one-stop references (free online)
- The official Python Tutorial — "An Informal Introduction to Python" (§3). Lists first appear here as a sequence type, indexed and sliced just like strings.
🔗 https://docs.python.org/3/tutorial/introduction.html - Programiz — "List Methods" reference. A compact table of every list method with a runnable example for each; handy when you forget what
popreturns vs. whatremovedoes.
🔗 https://www.programiz.com/python-programming/methods/list
Pick-one quick path (≈15 min total)
In a hurry? Do exactly these two and you'll be ready for the quiz:
1. Read the top half of "Python List" on Programiz (Create → Access → Slicing → Change Items), running each example in online-python.com as you go (groups ①–②).
2. Paste the aliasing example into Python Tutor — a = [1, 2] / b = a / b.append(3) / print(a) — step forward, and watch both names point at one list; then switch line 2 to b = a[:] and watch them split (groups ③–④).
Heads-up (links rot): these point to outside sites that occasionally move or rename pages. If a link ever fails, tell Prof. Okafor and use the official Python Tutorial (docs.python.org/3/tutorial/datastructures.html, §5.1) or W3Schools (w3schools.com/python) in the meantime.
~ Prof. Okafor's edition · Fall 2026 · built with thecoursemaker.com