Textbook (free)

COMSC-122: Prog Concepts & Methods I

Fall 2025 Sam Bowne

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

The first class meeting is Tues, Aug 26.

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

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:

Enroll Here · View Course · Reset password

Schedule

DateDueTopic

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


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


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


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


Tue 9-23Quiz Ch 6
VP 100
6. Return Values
Demos: VP 110


Tue 9-30Quiz Ch 7 and 8
VP 110
7. Iteration and Search
8. Strings and Regular Expressions
Demo: VP 200


Tue 10-7Quiz Ch 9
VP 200
9. Lists

Tue 10-14Quiz Ch 10
VP 210
10. Dictionaries

Tue 10-21Quiz Ch 11 and 12
VP 300
11. Tuples
12. Text Analysis and Generation

Tue 10-28Quiz Ch 13
VP 301
13. Files and Databases

Tue 11-4Quiz Ch 14
VP 50
14. Classes and Functions

Tue 11-11No Quiz Holiday: No Class

Tue 11-18Quiz Ch 15 and 16
VP 51
15. Classes and Methods
16. Classes and Objects

Tue 11-25Quiz Ch 17
VP 52
17. Inheritance

Tue 12-2No Quiz TBA

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

Tue 12-9
through
Fri 12-19
  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

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)

Curriculum Public View

Last Updated: 9-30-25 6:41 pm