Dr. Tomás Rivera
Assistant Professor of Computer Science
Instructor for CS 150 (Fall 2026)
- Office
- Ashby Hall 215
- trivera@university.alkimi.ai
CS 150 · Programming
Problem solving, data types, control flow, functions, and testing in Python.
Fall 2026 Overview
Meeting Times & Location
MW 2:00–3:15 p.m. + lab F 2:00–3:50 p.m., Ashby Hall 220
Generative AI Policy
AI Level 3AI Level 3: Permitted broadly with disclosure. You are encouraged to use AI for iterative code debugging, explaining Python traceback errors, exploring algorithms, and writing unit test cases. You must include a standardized docstring header detailing tools and prompts.
Assistant Professor of Computer Science
Instructor for CS 150 (Fall 2026)
Enrolled students have 24/7 access to this course's dedicated AI assistant, grounded in the syllabus, weekly lecture notes, and assignment sheets.
Key Academic Benchmarks
Essential course requirements, grading structure, upcoming deadlines, and required learning materials.
Grading Weights
Deadlines
First Day of Classes
Wednesday, August 26, 2026
Assignment 1 Due
Friday, September 18, 2026
Midterm Exam 1 (In-Class)
Wednesday, October 7, 2026
Midterm Exam 2 (In-Class)
Friday, November 6, 2026
Final Comprehensive Exam
Tuesday, December 15, 2026 (1:00 p.m.)
Course Texts
Severance, Python for Everybody: Exploring Data in Python 3
Free Open Educational Resource (py4e.com)
Python 3.12+, VS Code, and pytest
Free open-source software tools
Curriculum
Week 1: Computational Thinking & Python Basics
Python runtime, interpreter, script execution, variables, dynamic typing, primitive data types, and arithmetic operators.
Week 2: Conditionals & Boolean Logic
Boolean expressions, comparison and logical operators, branching if/elif/else blocks, and nested decisions.
Week 3: Iteration & Loops
While loops, infinite loop prevention, for loops, range(), accumulator patterns, sentinel loops, break and continue.
Week 4: Modular Functions & Testing
Function definition (def), arguments, return statements, pure functions vs side effects, scope, and pytest unit testing.
Student Interactive Tool
Ask about the syllabus, deadlines, and this week's notes.
The CS 150 Learning Assistant is embedded directly into Canvas and accessible right here for registered students. Grounded exclusively in Dr. Tomás Rivera's verified course documents, the assistant helps you:
Authentication Required
This assistant is private to enrolled students and course instructors. Sign in using your university AlkimiID credentials in the chat frame.
Official Course Contract
The official syllabus as filed with the department and published in Canvas for the Fall 2026 academic semester.
Term: Fall 2026
Credits: 4.0 (3 hours lecture + 2 hours laboratory weekly)
Lecture Times & Location: Monday & Wednesday 2:00–3:15 p.m., Ashby Hall 220
Laboratory Time & Location: Friday 2:00–3:50 p.m., Ashby Hall 220 (Computer Lab)
Modality: In-Person Lecture & Hands-on Coding Lab
trivera@university.alkimi.aiProblem solving, data types, control flow, functions, and testing in Python. CS 150 is the rigorous introductory programming course for computer science and data science majors, engineering students, and quantitative researchers. The course emphasizes computational problem-solving, structured programming, algorithm design, and modern software engineering practices. Topics include primitive data types (integers, floats, booleans, strings), operators and expressions, conditional branching, iteration (while, for), functions, parameter passing, return values, variable scope, strings, lists, tuples, dictionaries, sets, text and CSV file I/O, exception handling, introductory object-oriented programming (classes, methods, encapsulation), and automated unit testing using pytest.
None. Satisfies the Alkimi Core Quantitative Reasoning requirement and serves as the fundamental prerequisite for CS 210 (Data Structures and Algorithms).
Upon successful completion of CS 150, students will be able to:
if, elif, else) and deterministic/non-deterministic loops (for, while) with robust boundary handling.try/except exception handling and file context managers (with open).pytest to verify software functionality, catch edge cases, and ensure algorithmic correctness.pytest testing framework (installed via pip install pytest).In accordance with Alkimi University Academic Policies (Student Handbook §5.8), CS 150 operates under AI Level 3.
.py file) must include a standardized docstring header detailing: (a) what AI tools were consulted, (b) the specific prompts entered, and (c) how you modified, tested, and validated the AI-generated code.| Week | Dates | Lecture Topics (MW) | Friday Lab Session | Assignments & Deadlines |
|---|---|---|---|---|
| Week 1 | Aug 26, 28 | Computational Thinking & Python Basics: The Python runtime, interpreter, script execution, variables, dynamic typing, primitive data types (int, float, str, bool), basic arithmetic operators. (First class: Wed Aug 26) | Lab 1: Development Environment Setup (VS Code, Python 3.12, Git) and Hello World scripts. | Welcome & software setup. |
| Week 2 | Aug 31, Sep 2, 4 | Conditionals & Boolean Logic: Boolean expressions, comparison operators (==, !=, <, >, <=, >=), logical operators (and, or, not), if/elif/else branches, nested decisions. | Lab 2: Automated Decision Trees and Input Validation Scripts. | Wed Sep 2: Add/Drop deadline. Problem Set 1 due Sep 4. |
| Week 3 | Sep 9, 11 | Iteration & Loops: While loops, infinite loop prevention, for loops, range(), accumulator patterns, sentinel-controlled loops, break and continue. (Mon Sep 7: Labor Day, No class) | Lab 3: Numerical Simulations, Prime Checkers, and Convergence Loops. | Wed Sep 9: Census date. Assignment 1 assigned. |
| Week 4 | Sep 14, 16, 18 | Modular Functions & Testing: Function definition (def), arguments, return statements, pure functions vs. side effects, local vs. global scope, docstrings, type hinting, unit testing with pytest. | Lab 4: Writing Modular Function Libraries and Automated Test Suites with pytest. | Assignment 1 Due: Friday Sep 18 at 11:59 p.m. |
| Week 5 | Sep 21, 23, 25 | Strings & Text Processing: String indexing, slicing ([start:stop:step]), immutability, string methods (split, join, strip, replace), string formatting with f-strings. | Lab 5: Text Processing, Cipher Encryption, and DNA Sequence Parsing. | Problem Set 2 due Sep 25. |
| Week 6 | Sep 28, 30, Oct 2 | Lists & Mutability: List creation, indexing/slicing, list mutability, in-place modification vs. copying (copy()), list methods (append, extend, pop, sort), list comprehensions; Exam 1 Review. | Lab 6: Statistical Analysis Tool with Lists and List Comprehensions. | Problem Set 3 due Oct 2. |
| Week 7 | Oct 5, 7, 9 | Midterm Exam 1 & Tuples/Dictionaries: Midterm Exam 1; Tuples (immutability, unpacking), Dictionaries (hash maps, key-value pairs, hashability, dictionary methods). | Lab 7: Frequency Counting and Inverted Index Creation with Dictionaries. | Midterm Exam 1: Wednesday Oct 7 in class. |
| Week 8 | Oct 14, 16 | Sets & Compound Data Structures: Set operations (union, intersection, difference), nested dictionaries, lists of dictionaries, tabular data modeling. (Mon Oct 12: Fall Break, No class) | Lab 8: Querying Compound JSON Records and Social Network Graphs. | Fri Oct 16: Midterm grades due. |
| Week 9 | Oct 19, 21, 23 | File I/O & Data Persistence: File streams, paths, context managers (with open() as f:), reading text line-by-line, writing output, parsing structured CSV data with the csv module. | Lab 9: Processing Real-World Environmental CSV Datasets. | Problem Set 4 due Oct 23. |
| Week 10 | Oct 26, 28, 30 | Defensive Programming & Exception Handling: Syntax errors vs. runtime exceptions, try/except/else/finally blocks, catching specific exceptions (ValueError, FileNotFoundError), raising exceptions. | Lab 10: Robust File Importer with Exception Recovery and Logging. | Lab 10 check-off. |
| Week 11 | Nov 2, 4, 6 | Object-Oriented Programming (OOP) I & Exam 2: Classes, instances, constructors (__init__), instance attributes, instance methods, self parameter; Midterm Exam 2. | Lab 11: Modeling Bank Accounts and E-Commerce Inventory using OOP. | Fri Nov 6: Withdrawal (W) deadline. Midterm Exam 2: Friday Nov 6 in class. |
| Week 12 | Nov 9, 11, 13 | Object-Oriented Programming II: Encapsulation, private attributes by convention, inheritance, method overriding, super(), dunder methods (__str__, __repr__, __eq__, __len__). | Lab 12: Building an RPG Game Engine with Class Hierarchies. | Final Project Proposal due Nov 13. |
| Week 13 | Nov 16, 18, 20 | Python Standard Library & API Integration: Modules, packages, math, random, datetime, json, fetching remote REST API data with urllib / requests. | Lab 13: Live Weather Dashboard querying external REST APIs. | Problem Set 5 due Nov 20. |
| Week 14 | Nov 23 | Algorithms & Complexity: Linear search vs. binary search, Bubble Sort vs. Merge Sort concepts, Big-O algorithmic time complexity intro. (Nov 25–27: Thanksgiving) | No lab meeting this week (Thanksgiving). | Thanksgiving Break Nov 25–27. |
| Week 15 | Nov 30, Dec 2, 4 | Software Architecture & Capstone Development: Code refactoring, PEP 8 style guide, type annotations, final project debugging and code reviews. | Lab 14: Final Capstone Project Demonstrations and Peer Code Reviews. | Final Capstone Project due Dec 4. |
| Week 16 | Dec 7, 9 | Course Synthesis & Review: Emerging software trends, career pathways in computing, comprehensive review for final exam. (Classes end Wed Dec 9) | No labs. | Wed Dec 9: Last day of classes. Thu Dec 10: Reading Day. |
| Finals | Dec 15 | Final Comprehensive Examination: Tuesday, December 15, 2026, 1:00–3:00 p.m., Ashby Hall 220. | Comprehensive in-person exam on paper and locked computer. |
Under university policy (Student Handbook §6.4), students with three or more final exams on the same calendar day may petition to reschedule the middle exam by contacting Dr. Rivera in writing no later than Wednesday, December 9, 2026.
Under our AI Level 3 policy, while you may leverage generative AI as a programming tutor and assistant, submitting code that you did not write or cannot explain constitutes academic dishonesty. Copying code directly from classmates, unauthorized repositories, or failing to disclose AI assistance violates the Academic Integrity Policy (Student Handbook §5.1). First violations are reported to the Office of Academic Integrity (Lovell Hall 315, integrity@university.alkimi.ai, (555) 555-0163).
Students with documented disabilities requiring accommodations should contact the Office of Accessibility Services:
access@university.alkimi.aiDeliver your accommodation letter within the first two weeks of class.
advising@university.alkimi.ai