Computer Science 1¶
Syllabus (v1 draft)¶
Draft (v1). A portable Computer Science 1 syllabus — its content scope is governed by the design rationale (MIT-informed, CS2-ready, no-prerequisite). The units map to recognized CS1 outcomes (ABET CAC, ACM/IEEE-CS CS2023) and to MSU Denver's CS 1050 objectives, for alignment. Schedule and grading weights are proposed; this isn't yet an official section syllabus for any institution.
How to read this page
Students / self-learners: this is the course contract — what you'll learn, what you'll build, and how work is weighted. Skim the objectives and assessment mix; the schedule shows the rhythm week by week. Instructors: this syllabus is portable by design — the design rationale carries the "why" behind every scope decision, and the outcomes map carries the formal alignment.
Course information¶
| Course | Computer Science 1 |
| Credits | 4 (all lecture; 60 lecture hours + ~120 hours additional student work) |
| Prerequisite | None. No prior programming and no math beyond basic arithmetic are assumed — the course teaches what it needs from scratch. |
| Language | Python 3 |
| Textbook | John Zelle, Python Programming: An Introduction to Computer Science, 4th ed. (Franklin, Beedle & Associates, 2024) |
Catalog description¶
First course in the computer science core sequence. Emphasis on algorithm development, correctness, and programming style; an introduction to software engineering and the software development life cycle. Students learn to design, implement, document, test, and debug programs that solve simple-to-medium problems.
Learning objectives¶
By the end of CS 1050, a student can:
- Solve simple-to-medium problems by writing correct programs.
- Document code clearly and appropriately.
- Decompose a problem into modular components.
- Declare and use classes, methods, and variables.
- Use parameters and return values correctly.
- Write expressions and use decision and loop control structures.
- Use the core data types: integer, real, character, boolean, array/list, and string.
- Perform interactive (keyboard/screen) and file input/output.
- Apply top-down design and stepwise refinement.
- Reason about the scope and visibility of identifiers.
- Test and debug programs systematically.
- State the steps of the software development life cycle.
These 12 objectives map to ABET CAC student outcomes and ACM/IEEE-CS CS2023 knowledge areas — see
outcomes_map_abet_cs2023.md.
Content units¶
- Computers & Programs — what computer science is; hardware basics; languages; running Python.
- Software Engineering & the Development Life Cycle — the development process; analysis → design → implementation → testing → maintenance.
- Testing & Debugging — exceptions; systematic testing; unit testing.
- Data Types & Variables — numeric types, strings, booleans; expressions; assignment; type conversion.
- Input / Output — interactive I/O; string formatting; file processing.
- Classes & Objects — using objects; defining classes; encapsulation; modules; intro to OOP.
- Decision Structures — simple, two-way, and multi-way decisions; exception handling.
- Looping — definite and indefinite loops; common loop patterns; booleans.
- Arrays / Lists — lists and arrays; list operations; linear search and selection sort.
Proposed schedule¶
For a real term, use the dated schedule:
schedule.mdmaps the units onto MSU Denver's Fall 2026 calendar with actual dates, holidays, drop/withdraw deadlines, and finals. The table below is the generic, date-free version. Ordered by the design-rationale topic spine (control-structures-first, MIT-aligned) — not the textbook's chapter order. "Unit" = spine unit; chapter columns give Zelle 4e (primary) and 3e (budget). Front-loaded so weeks 1–5 form a complete "teachable spine."
| Wk | Focus | Unit | Zelle 4e | Zelle 3e |
|---|---|---|---|---|
| 1 | Module 0 setup · what is computation · first program | 0, 1 | 1 | 1 |
| 2 | Values, types, expressions, I/O · decisions/branching | 1, 2 | 2–3, 6 | 2–3, 7 |
| 3 | Iteration / loops | 3 | 7 | 8 |
| 4 | Strings & sequence basics | 4 | 8 | 5 |
| 5 | Functions: decomposition, parameters/return, scope | 5 | 5 | 6 |
| 6 | Lists, tuples, mutability & aliasing ★ | 6 | 9 | 11 |
| 7 | Dictionaries & sets · testing & debugging (formalized) | 7, 9 | 9.5, 11.4 | 11, 9 |
| 8 | Midterm + review (units 0–7) | — | — | — |
| 9 | Files & exceptions | 8 | 10, 6.4 | 5, 7 |
| 10 | Classes & objects ★ | 10 | 12 | 10 |
| 11 | OO design + intro inheritance ★ | 10 | 13 | 12 |
| 12 | Recursion (numeric + non-numeric) ★ | 11 | 14 | 13 |
| 13 | Algorithms: search, a sort, intro Big-O ★ | 12 | 14 | 13 |
| 14 | Applications / buffer · oral presentations begin | — | — | — |
| 15 | Wrap-up · review · presentations finish | — | — | — |
| Finals | Final exam | — | — | — |
★ = critical CS2 bridge (extra time + dedicated assessment). Graphics (Zelle Ch 4) is woven in as motivating enrichment, not a required week (see design rationale).
Assessment (proposed weights)¶
The course-of-record assesses across code and communication:
| Component | Weight |
|---|---|
| Programming assignments | 30% |
| Labs | 10% |
| Quizzes | 10% |
| Research paper / book report (written communication) | 10% |
| Oral presentation | 5% |
| Midterm exam | 15% |
| Final exam | 20% |
The writing + presentation components are part of the course-of-record and are intentionally preserved — CS 1050 builds written and oral communication alongside programming, not as an afterthought.
Academic integrity¶
Solution keys, exams, and rubrics are maintained privately and are not published. Collaboration policy, AI-use policy, and the institution's academic-integrity standards will be stated per the official section syllabus.
Accessibility & use¶
I want these materials usable by as many people as possible — that's the whole point of making them free and open. They're built for self-paced learners and for instructors who teach from them. When a course is taught for credit, the formal accessibility and disability accommodations, the academic-integrity rules, and the other institutional policies come from that institution's official section syllabus — those are theirs to set. But the materials themselves should never be the thing standing in your way. If you hit an access barrier here — something hard to read, hard to navigate, or hard to use with assistive tech — please open an issue and tell me. I'd much rather know.