M1: Introduction to Programming

This first module provides an introduction to basic programming concepts and skills.

Pre-recorded Lectures

The pre-recorded lectures are available through Canvas.

The lectures include a video to introduce the module (“Introduction to Module M1”) and a series of 5-15 minute videos divided into three sections:

  • 1a - Introduction to Programming
    • 1a.1 - Introduction

    • 1a.2 - Writing and Running your First Program

    • 1a.3 - Variables

    • 1a.4 - Expressions

    • 1a.5 - Bonus: Types Revisited

  • 1b - Control Flow
    • 1b.1 - Introduction

    • 1b.2 - Conditional Statements

    • 1b.3 - “for” loops

    • 1b.4 - Example: Primality Testing

    • 1b.5 - “while” loops

  • 1c - List, Tuples, and Strings
    • 1c.1 - Introduction

    • 1c.2 - List Creation and Basic Usage

    • 1c.3 - List Iteration

    • 1c.4 - Adding/Removing Elements from a List

    • 1c.5 - List Slicing

    • 1c.6 - Lists of Lists

    • 1c.7 - Tuples

    • 1c.8 - Strings

    • 1c.9 - Bonus: List Comprehensions

    • 1c.10 - Bonus: Lists in Memory

Textbook Chapters

The chapters corresponding to this module are:

A PDF version of the textbook is also available here.

You will be asked to log in with your CNetID before you can see the textbook.

Please note that the pre-recorded lectures cover largely the same material as the book. We recommend starting with the pre-recorded lectures, and then reading through the book (but do not feel bad if you find yourself skipping large portions of the textbook, if you feel they tread on material that you already understood when watching the lectures)

Zoom Sessions

You will find the links to the Zoom sessions on Canvas.

  • Week 1
    • Wednesday, September 30th: Introduction to CS 121

    • Friday, October 2nd: Q&A and Git

  • Week 2
    • Wednesday, October 7th: Lab #1

    • Friday, October 9th: Q&A and List/Loops Examples


Lab #1: Lists and Loops

In the October 7th lecture, we will be working through a few of the problems in this lab. You are not expected to complete the lab before that lecture, but you should try to read through it so you are familiar with its contents.

Short Exercises

Short Exercises #1, due Sunday, Oct 11 at 3pm CDT

Programming Assignment

Programming Assignment #1, due Friday, Oct 16 at 3pm CDT