Textbook (free)

COMSC-122: Prog Concepts & Methods I

Spring 2026 Sam Bowne

This is an online class with
optional weekly class meetings
Tues 6:00 - 7:30 pm on Twitch.

You can get interactive help at 7:30 pm
any evening Mon-Thu on Twitch.

Upon request, we will also use Zoom
Password: student1

Schedule · Projects · Syllabus · Outline

Canvas Up

LMC's Canvas is up now.

Class Description

This course introduces the discipline of computer science with practical hands-on problem solving using a "high level" computer programming language. The course will include basic syntax and semantics of a "high level: language, variables, types, expressions, assignment, basic computation, simple I/O conditional and iterative control structures, functions, and parameter passing, structured decomposition, program design, programming style, algorithms, and problem solving strategies, overview of programming languages, binding, visibility, scoping, and lifetime management.

Textbook

Think Python (free, online)

Quizzes

The quizzes are multiple-choice, online, and open-book. However, you may not ask other people to help you during the quizzes. You will need to study the textbook chapter before the lecture covering it, and take the quiz before that class. Each quiz is due 30 min. before class. Each quiz has 5 questions, you have ten minutes to take it, and you can make two attempts. If you take the quiz twice, the higher score counts.

Use this Canvas server: LMC Canvas

Schedule

DateDueTopic

Tue 1-27 1. Programming as a way of thinking
Demos: VP 11 and 12


Tue 2-3Quiz Ch 1 and 2
VP 11 and VP 12
2. Variables and Statements
Demos: VP 20 and 21 and H 101


Tue 2-10Quiz Ch 3 and 4
VP 20 and VP 21
3. Functions
4. Functions and Interfaces
Demos: VP 22 and H 102


Tue 2-17Quiz Ch 5
VP 22
5. Conditionals and Recursion
Demos: VP 100 and H 103


Tue 2-24Quiz Ch 6
VP 100
6. Return Values
Demos: VP 110 and VP 200


Tue 3-3Quiz Ch 7 and 8
VP 110
7. Iteration and Search
8. Strings and Regular Expressions
Demo: VP 210 and AI Agents


Tue 3-10Quiz Ch 9
VP 200
9. Lists
Demos: VP 300


Tue 3-17Quiz Ch 10
VP 210
10. Dictionaries
Demos: VP 301 and VP 50


Tue 3-24No Quiz Spring Break: No Class

Tue 3-31Quiz Ch 11 and 12
VP 300
11. Tuples
12. Text Analysis and Generation
Demos: VP 51 and VP 52


Tue 4-7Quiz Ch 13
VP 301
13. Files and Databases
Demos: VP 53 and VP 54


Tue 4-14Quiz Ch 14
VP 50
14. Classes and Functions
Demos: VP 55 and VP 56


Tue 4-21Quiz Ch 15 and 16
VP 51
15. Classes and Methods
16. Classes and Objects
Demos: VP 57 and VP 58


Tue 4-28Quiz Ch 17
VP 52
17. Inheritance
Demos: VP 59 and VP 60


Tue 5-5Quiz Ch 18 (Extra Credit) 18. Python Extras
Demos: VP 61 and VP 62


Tue 5-12No Quiz Last Class: No new material

Tue 5-12
through
Fri 5-22
  Final Exam available online.
You can only take it once.

All Quizzes due 30 min. before class

Projects

Enter Flags · Scoreboard · Details

Prepare a Python Environment

Recommended

VP 11: Python 3 on Google Colab (10)
VP 12: Debugging in Google Colab (10)

Optional

VP 10: Python 3 Installed Locally (10 extra)
ML 125: Jupyter Notebook on a Mac M1 (10 extra)

AI Code Generation

ML 160: GitHub Copilot (15 extra)

ML 161: Codeium (15 extra)

ML 131: Generating Python Code with Gemini (40 extra)

Basic Data Types

VP 20: Arithmetic in Python (10 + 45 extra)

H 101-104: Binary Games (20 extra)

C 101.5 - 7: More Binary Games (15 extra)

VP 21: ASCII and Bytes in Python (10 + 25 extra)

VP 22: Lists and Dictionaries (15 + 10 extra)

Python Basics

VP 100: Strings  15 + 35 extra
VP 110: Bytes and Files  15 + 10 extra

Networking with Python

VP 200: Port Scanning  10 + 25 extra
VP 210: HTTP  20 + 50 extra

Advanced Networking with Python

VP 220: DNS  95 extra
VP 230: Obfuscated HTTP  50 extra

AI Agents

Recommended

ED 33: Ubuntu Linux Desktop (10 pts)
ML 135: OpenClaw on Ubuntu Linux (15 pts)

Not Recommended

ML 123: Running Llama 3 Locally (15 pts)
ML 133: MCP with Claude (15 pts)
H 112: Cloudflare Quick Tunnel (25 pts)
ML 134: IronClaw on Ubuntu Linux (15 pts)

Cryptography with Python

VP 300: Password Hashes  15 + 70 extra
VP 301: Caesar Cipher  17 + 35 extra
VP 310: XOR  65 extra
VP 320: AES  55 extra
VP 330: Argon2 Hashes  47 extra

Python Madness

ED 105: Server Side Template Injection (SSTI)  35 extra
VP 400: Machine Learning  50 extra
C 510: Quantum Computing  20 extra

Story Problems

VP 50: Number Pair (15 + 15 extra)
VP 51: Sequential Numbers (15 + 15 extra)
VP 52: Checksum (15 + 15 extra)
VP 53: Parsing (30 extra)
VP 54: Paper (30 extra)
VP 55: Fuel (30 extra)
VP 56: Password Policies (30 extra)
VP 57: Trees (30 extra)
VP 58: Frequencies (30 extra)
VP 59: Box IDs (30 extra)
VP 60: Intcode (30 extra)
VP 61: Short Circuit (30 extra)
VP 62: Count Passwords (30 extra)

Archived scores: F25 · S26

Curriculum Public View

Last Updated: 6-1-26 6 am