Introduction to Computer Science
CSCI 1101~ Prof. Okafor's edition · Fall 2026 · built with thecoursemaker.com
This is a complete, term-paced course — sixteen weeks, every component, generated and ready to import. It's the kind of edition an instructor owns: paced to a real calendar, editable in Canvas, your name on every page. Browse the whole thing below — click any piece to read it in full, then click back to return here.
Nothing here is locked behind a signup. The course is the proof.
Like what you see? Build your own.
Give The Course Maker your topic and term dates, approve the plan, and download a complete Canvas course like this one — paced to your calendar and owned by you. $59 founding this fall ($99 list).
Policies, schedule, and grading
Read the full course syllabus
Fictional sample for demonstration. Silver Oak University and Prof. Okafor are fictional, used to showcase thecoursemaker.com. No real institution, course, or person is implied or endorsed. Python and other named tools and concepts are the subject matter and are used factually.
| Course | Introduction to Computer Science — CS1 / Programming Fundamentals in Python · CSCI 1101 |
| Institution | Silver Oak University · Department of Computer Science |
| Term | Fall 2026 · 16 weeks (Aug 31 – Dec 18) |
| Units | 3 |
| Modality | In-person |
| Meeting pattern | Two 75-minute sessions per week (150 min/week), run as a coding-along studio |
| Prerequisite | Intermediate algebra or equivalent placement; no prior programming experience assumed |
| Instructor | Prof. Okafor |
| Office hours | Posted on the course homepage; drop-in and by appointment |
| Contact | Through the course messaging tool (replies within 1 business day) |
Course Description
Welcome to your first programming course. CS1 / Programming Fundamentals is the gateway to the computer-science major and a service course for many other fields — data science, engineering, business, the sciences, and beyond — so the room is a mix of future CS majors and people who just need to write code that works. We use Python because it is the most common teaching language for introductory programming: readable, low-ceremony, and fast to get feedback from.
This is a make-it-and-run-it course. We move along the natural arc of learning to program — computational thinking → variables & expressions → input/output & strings → Booleans & conditionals → loops → functions → collections → strings, files & exceptions → algorithms & complexity → recursion → intro object-oriented programming — and at every step we lead with the plain-language idea, then write it, run it, and trace it. Two skills run through every single week: tracing code (reading a program and predicting exactly what it will do) and debugging it (finding and fixing what's broken). Class is a studio: we code along together, we trace a program line by line and ask "what does this print?", and we deliberately break a program and fix it.
A weekly Coding Lab / Programming Studio is where you do the programming yourself — write a short program, trace code and predict its output, and find-and-fix a bug — in a free browser-based Python environment, with Python Tutor to watch your code run step by step. A weekly AI-tutor tutorial gives you a low-stakes place to practice, and every week includes an AI-critique moment: you ask a chatbot to write or trace some code, and then you catch its mistakes — because chatbots routinely produce buggy code, predict the wrong output, make off-by-one errors, and invent library behavior that doesn't exist. Catching the machine is the whole point of a course about tracing and debugging.
A note on scope. This is the first programming course — where you write and run real code. Data structures beyond Python's built-in collections, formal algorithm analysis, and a full treatment of object-oriented design belong to the second course (CS2); recursion and OOP here are introduced at the intro level. You will leave this course able to read and write real Python programs.
Learning Objectives
By the end of the course, you will be able to:
- Explain computational thinking — what a program and an algorithm are, how code runs, and how to read an error message — and write, run, and trace simple Python programs.
- Use variables, the core data types (
int,float,str,bool), expressions with correct operator precedence, type conversion, and input/output (including indexing, slicing, and f-strings). - Use Boolean logic and conditionals — comparison and logical operators, truth tables, and
if/elif/else— to make programs decide. - Use
whileloops andforloops withrange(), including counters, accumulators, and nested loops, and recognize and stop infinite loops. - Define and use functions with parameters, arguments, and return values, and reason correctly about local vs. global scope.
- Use Python's built-in collections — lists, tuples, dictionaries, and sets — choosing the right one and using indexing, mutation, methods, and iteration correctly.
- Process strings and text, read and write files with
with, and handle errors usingtry/except. - Apply foundational algorithms (linear and binary search, a simple sort), reason informally about time complexity (Big-O), and use recursion and introductory object-oriented programming (classes, attributes, methods,
__init__).
Student Learning Outcomes (SLOs)
- SLO A — Program design & implementation. Decompose a problem and write, run, and refine a correct Python program using variables, control flow, functions, and collections.
- SLO B — Code tracing, testing & debugging. Read code and accurately predict its output and behavior, and locate and fix defects.
Required Materials
There is no required textbook, and you will pay nothing for course materials. Readings and videos are delivered as links to external resources posted in each weekly module, and the weekly Coding Labs and practice run in free browser-based Python environments (also linked). The reading load is intentionally light and is meant to support, not replace, the in-class coding and the labs.
You will need:
- A device with a web browser and internet access.
- Access to a free online Python environment — a browser-based runner / IDE (e.g., online-python.com, programiz.com, or replit.com) and Python Tutor (pythontutor.com) for step-by-step code visualization (all free and linked in the modules). (You may install Python locally from python.org if you prefer, but nothing in this course requires it.)
- The official Python documentation (docs.python.org) as your reference — free and linked.
- Access to one approved AI chatbot for the weekly Lecture Tutorials, adaptive activities, and the lab AI-critique moment (see the AI-Use Policy below).
Grading
Your course grade is the weighted total of the groups below. Weights sum to 100%.
| Assignment group | Weight | Notes |
|---|---|---|
| Lecture tutorials | 5% | 14 weekly AI-tutor tutorials; submit the conversation share link |
| Quizzes | 10% | 14 quizzes (every instructional week — W1–7, 9–15) |
| Practice exercises | 0% | Ungraded; weekly, for mastery practice |
| Coding Labs | 15% | 14 weekly Coding Labs / Programming Studios (every instructional week) |
| Assignments | 15% | 14 assignments (every instructional week — W1–7, 9–15) |
| Discussions | 10% | 15 discussions (every week except W16; W8 is the midterm debrief) |
| Midterm | 20% | Week 8 (cumulative, Weeks 1–7) |
| Final | 25% | Week 16 (cumulative) |
| Total | 100% |
Attendance is tracked at every session but is not weighted (see the Attendance Policy).
Per-item points: quizzes 10 · discussions 20 · assignments 100 · Coding Labs 50 · midterm & final 100 each.
Letter-Grade Scale
| Grade | Range |
|---|---|
| A | 90–100% |
| B | 80–89.9% |
| C | 70–79.9% |
| D | 60–69.9% |
| F | below 60% |
Late & Make-Up Policy
- Late penalty: 10% per day. Submitted work loses 10 percentage points of its earned score for each day (or part of a day) it is late.
- Quizzes, the Midterm, and the Final are time-bound. Make-ups are arranged only for documented emergencies — contact Prof. Okafor as early as possible, ideally before the due date.
- Coding Labs build on the week's objective and are best done in the studio session or the same week; if you must miss the studio, you can complete the lab in any free browser Python environment — contact Prof. Okafor if you need help.
- Practice exercises are ungraded and exist for your benefit; the late penalty does not apply to them.
- If something serious is getting in the way of your work, reach out early. It is almost always easier to arrange support before a deadline than to repair a grade after it.
AI-Use Policy
This course requires you to use AI as a learning partner — a pair-programmer — on your coursework, and it draws a clear line for the closed assessments. Read this section carefully.
Approved chatbots
You must use one of these three approved AI chatbots:
- Gemini
- Claude
- ChatGPT
The free tier of any of these is sufficient. You may pick whichever you prefer.
AI in this course (adaptive-learning activities)
Your Lecture Tutorials, Discussions, Assignments, and the AI-critique step of each weekly Coding Lab are adaptive-learning activities you complete with the chatbot:
- Weekly Lecture Tutorials — work through the week's ideas in conversation, then submit the conversation share link and your Completion Summary.
- Discussions — think a question through in a real-time dialogue with the chatbot, then post the AI-generated summary plus your chat share link to the discussion board (and reply to peers).
- Assignments — solve AI-posed programming problems with a chatbot coach that grades and teaches you as you go, then submit the coach's self-scored report (the line beginning
STUDENT'S SCORE:) plus your chat share link. - Coding Labs — after you've written and run your own code, you'll ask the chatbot to write or trace a program, then catch its mistakes — a standing habit in this course, because chatbots routinely produce buggy code, predict the wrong output, make off-by-one errors, hallucinate library/method behavior, and miss edge cases.
For all of these, the share link is part of your submission — treat the conversation as your work, keep it on-topic, and do your own thinking.
The course's one rule about AI and code: never trust an output you didn't run. A chatbot will tell you, with total confidence, that a program prints something it doesn't. So will your own first guess. In this course, the source of truth is always the same: run the code and read what Python actually prints.
Permitted vs. not permitted
- AI may be used on your coursework — the Lecture Tutorials, Discussions, Assignments, Coding Labs, and the ungraded Practice Exercises. (For the adaptive activities above, working with the chatbot is the activity.)
- AI may not be used on the Quizzes, the Midterm, or the Final — these are closed to AI and must be entirely your own work. Quizzes and exams are built from auto-gradable items (including predict-the-output and debugging questions) and are meant to confirm that you can read and reason about code.
Disclosure
The adaptive activities (tutorials, discussions, assignments, Coding Labs) need no separate disclosure — the share link already documents your AI use. If you use an AI tool to help you think about any other graded work, add a one-line note stating which tool you used and how.
Alignment with academic integrity
Using AI as described here is encouraged and fully consistent with the integrity standard below. The violations are fabricating or doctoring a chat you submit, and using AI on the closed assessments (Quizzes, Midterm, Final). When in doubt, ask before you submit.
Attendance Policy
This is an in-person, studio-format course — we write, run, and debug code together — and the in-class work (code-alongs, "what does this print?" traces, the bug hunts, and the AI-critique moments) is where much of the learning happens.
- Attendance is tracked at every session. It is not part of your weighted grade, but a strong attendance record is expected, and the studio coding in particular is hard to make up — consistent absence will show in your performance.
- Arrive on time, stay for the full session, and engage professionally with your classmates and instructor.
- If you must miss a session, notify Prof. Okafor in advance when possible and review the module materials to catch up. You remain responsible for any content, announcements, and due dates from a missed class.
Academic Integrity
You are expected to do your own work and to represent it honestly. Cheating, plagiarism, unauthorized collaboration, and submitting another's work — human or AI — as your own are violations of academic integrity and will be handled according to university policy, which may include a failing grade on the work or in the course. Collaboration is welcome where an assignment invites it; when in doubt about what is allowed, ask first. In a programming course specifically: copying a classmate's code (or pasting AI code you can't explain) and submitting it as your own is plagiarism — but using AI as a pair-programmer in the adaptive activities, with the share link, is exactly what's asked. Holding to this standard is what makes your grade — and your degree — mean something.
Accessibility: Silver Oak University is committed to equal access. Students who need accommodations should contact the campus disability services office to arrange them; notify Prof. Okafor early in the term so supports can be in place. (Placeholder — institutions should insert their official accessibility, Title IX, and integrity statements here.)
Course Schedule — Fall 2026 (16 Weeks)
Term runs Aug 31 – Dec 18. Campus holidays: Labor Day (Sep 7), Veterans Day (Nov 11), Thanksgiving (Nov 26–27). Week 16 is reserved for finals. Dates are the Monday of each week.
| Wk | Week of | Focus | Key assessments due |
|---|---|---|---|
| 1 | Aug 31 | Intro to Computing & Computational Thinking | Quiz 1; Discussion 1; Assignment 1; Coding Lab 1 |
| 2 | Sep 7 | Variables, Data Types & Expressions (Labor Day, Sep 7) | Quiz 2; Discussion 2; Assignment 2; Coding Lab 2 |
| 3 | Sep 14 | Input / Output & Strings | Quiz 3; Discussion 3; Assignment 3; Coding Lab 3 |
| 4 | Sep 21 | Booleans & Conditionals | Quiz 4; Discussion 4; Assignment 4; Coding Lab 4 |
| 5 | Sep 28 | Loops I: the while Loop |
Quiz 5; Discussion 5; Assignment 5; Coding Lab 5 |
| 6 | Oct 5 | Loops II: for, range & Nested Loops |
Quiz 6; Discussion 6; Assignment 6; Coding Lab 6 |
| 7 | Oct 12 | Functions | Quiz 7; Discussion 7; Assignment 7; Coding Lab 7 |
| 8 | Oct 19 | Midterm Review & Exam | Midterm; Discussion 8 |
| 9 | Oct 26 | Lists | Quiz 9; Discussion 9; Assignment 9; Coding Lab 9 |
| 10 | Nov 2 | Tuples, Dictionaries & Sets | Quiz 10; Discussion 10; Assignment 10; Coding Lab 10 |
| 11 | Nov 9 | Strings in Depth & Text Processing (Veterans Day, Nov 11) | Quiz 11; Discussion 11; Assignment 11; Coding Lab 11 |
| 12 | Nov 16 | File I/O & Exceptions | Quiz 12; Discussion 12; Assignment 12; Coding Lab 12 |
| 13 | Nov 23 | Algorithms: Searching & Sorting + Complexity (Thanksgiving, Nov 26–27) | Quiz 13; Discussion 13; Assignment 13; Coding Lab 13 |
| 14 | Nov 30 | Recursion (Intro) | Quiz 14; Discussion 14; Assignment 14; Coding Lab 14 |
| 15 | Dec 7 | Intro to Object-Oriented Programming | Quiz 15; Discussion 15; Assignment 15; Coding Lab 15 |
| 16 | Dec 14 | Final Review & Exam | Final |
Practice exercises and a Lecture Tutorial are part of every week's module; the table lists the graded touchpoints. Exam weeks (8 & 16) carry no weekly Coding Lab. The schedule may be adjusted with advance notice; changes will be announced in the course.
Assignment groups & weights
Configured in the export — the gradebook is set the moment the course is imported.
| Assignment group | Weight | Notes |
|---|---|---|
| Lecture tutorials | 5% | |
| Quizzes | 10% | |
| Practice exercises | 0% | Not weighted |
| Coding Labs | 15% | |
| Assignments | 15% | |
| Discussions | 10% | |
| Attendance | 0% | Not weighted |
| Midterm | 20% | |
| Final | 25% | |
| Late policy | 10%/day | Per day late |
| Total | 100% | Letter Standard |
What students will be able to do
Explain computational thinking — what a program and an algorithm are, how code runs, and how to read an error message — and write, run, and trace simple Python programs.
Use variables, the core data types (int, float, str, bool), expressions with correct operator precedence, type conversion, and input/output (including indexing, slicing, and f-strings).
Use Boolean logic and conditionals — comparison and logical operators, truth tables, and if / elif / else — to make programs decide.
Use while loops and for loops with range(), including counters, accumulators, and nested loops, and recognize and stop infinite loops.
Define and use functions with parameters, arguments, and return values, and reason correctly about local vs. global scope.
Use Python's built-in collections — lists, tuples, dictionaries, and sets — choosing the right one and using indexing, mutation, methods, and iteration correctly.
Process strings and text, read and write files with with, and handle errors using try / except.
Apply foundational algorithms (linear and binary search, a simple sort), reason informally about time complexity (Big-O), and use recursion and introductory object-oriented programming (classes, attributes, methods, __init__).
Program design & implementation. Decompose a problem and write, run, and refine a correct Python program using variables, control flow, functions, and collections.
Code tracing, testing & debugging. Read code and accurately predict its output and behavior, and locate and fix defects.
About this sample — read this first
This sample deliberately includes every possible component, every week, so you can see the full range of what The Course Maker generates — lecture outline, AI-tutor tutorial, practice, slides, quiz, discussion, readings, assignment, a module overview, and a weekly Coding Lab, plus the midterm and final bundles. Most real courses are lighter than this. At setup you choose what to include, and you can spread discussions, quizzes, and assignments across alternating weeks to fit your course and your pace. (The syllabus above shows one such lighter, realistic cadence; the outline below shows the full kitchen sink.) You choose; you own it.
Discussions & assignments: traditional or adaptive
Every discussion and every assignment can be generated in one of two modes — your choice at setup. Same learning objectives and the same rubric either way; what changes is how the work happens.
The familiar way
The course posts a prompt or a problem set. The student does the work themselves and submits it, and the instructor grades it against the included rubric. No AI required.
Work it through with an approved chatbot
The student does the work in a guided conversation with their own approved chatbot — Gemini, Claude, or ChatGPT — using a copy-paste prompt the course provides. For a discussion, the AI is a Socratic partner that challenges their thinking and never writes the post; the student posts a short summary plus a link to the chat. For an assignment, the AI is a coach and grader: it gives problems one at a time, scores each against the embedded rubric, teaches through mistakes, and lets the student retry a fresh variant to raise their score — then outputs a self-scored report (first line STUDENT'S SCORE: X/100) submitted with the chat link.
This sample course is set to adaptive — the traditional version of any item is one setting away. Open any week's discussion or assignment to see both side by side.
Every week, every component
Each week is a heading; every component under it links to the full artifact. Exam weeks carry the midterm/final bundle instead of the weekly quiz, tutorial, practice, and assignment.