Skip to main content.

Schedule

In general, labs assigned on Tuesday are due on Friday BEFORE CLASS.

Lecture slides will be posted after class.

All dates are tentative. The schedule will be updated as the semester progresses.

WEEK DAY Lectures & Examples Topic & Reading Assignments

Week 1

Jan 08

Slides

Introduction to Computer Science, CSCI111

Introduction to Algorithms
Writing and running programs in Python

Computing with numbers

HtTLaCS, Chapters 1--2

Review course web page and syllabus.

Register for the interactive textbook by going to the textbook site and then register, creating a username/password for the course. WLU_CSCI111_W18

An Introduction to Computational Thinking

Lab 0 - Intro to Linux and HTML - due Friday

Write up of Broader Issue, posting in Sakai forum:

Jan 09

Lab 0 - introduction to Linux and HTML

Slides

Jan 10

Slides

Jan 12

Drop/Add ends

Slides

Week 2

Jan 15

Martin Luther King Jr. Day

Jan 16

Lab 1
Slides

Numeric, String Operations

Input

HtTLaCS, Chapter 1

Introduction Assignment in interactive textbook due Tuesday, before class.

Lab 1

Broader Issue - Algorithm accountability: What happens when an algorithm is sexist? New guidelines seek accountability Read the article. Check out the linked articles about the questionable algorithms to get the idea of what the questions are about, and choose one article to read. Write one summary on the two articles.

Optional: Algorithmic accountability: Algorithms are designed to make our lives easier. The problem is, they're designed by us. This article is a little long and perhaps a bit alarmist, but thought-provoking.

Jan 17

Slides
Examples

Jan 19

Slides
Examples

Week 3

Jan 22

Slides
Examples

Object-oriented programming

HtTLaCS, Chapters 2-4

Using an API - Graphics library API
graphics.py

For Loops (HtTLaCS, Chapter 4)

"Lab2 Preparation" assignment in HtLaCS, due before lab on Tuesday.

Lab 2 - Advanced Arithmetic and Object-Oriented Programming

Broader Issue: This isn't a news article, but it's really important to know how Google search works. (Optional: find out how other search engines work.) Make sure you access all the info, like clicking on the various headings/interactive pieces.

Jan 23

Lab 2
Slides

Jan 24

Slides
Examples

Jan 26

Slides
Examples

Week 4

Jan 29

Slides
Examples

Using Modules, Calling functions

Defining our own Functions

HtTLaCS, Chapters 5, 6

Lab 3 Preparation Assignment, due before lab on Tuesday.

Lab 3 - For Loops, Functions, and Animation

Broader Issue: Net Neutrality - "Here's How the End of Net Neutrality Will Change the Internet" plus, for funzies: A story about Burger King's Video on Net Neutrality

Jan 30

Slides

Lab 3 - For Loops, Functions, and Animation

Jan 31

Slides
Examples

Feb 02

Slides
Examples

Week 5

Feb 05

Slides
Examples

Functions HtTlaCS, Chapter 6

Selection, HtTlaCS, Chapter 7

Exam 1 Preparation

Lab 4 preparation assignment

Lab 4

No broader issue this week

Feb 06

Lab 4
Slides

Feb 07

Slides
Examples

Feb 09

Exam 1

Week 6

Feb 12

Slides
Examples

Control Statements, HtTlaCS - Chapter 7

Indefinite Loops (while), HtTlaCS - Chapter 8

Strings, HtTlaCS - Chapter 9

Lab 5 Preparation assignment in HtTlaCS

Broader Issues: Read both articles and write one summary:

Lab 5--Conditions

Feb 13

Lab 5
Slides

Feb 14

Slides
Examples

Feb 16

Slides
Examples

Week  

Feb 19

Washington Break

Feb 20

Feb 21

Feb 23

Week 7

Feb 26

Slides
Examples

Strings, HtTlaCS - Chapter 9

Data Representation

Lab 6 Preparation assignment in HtTlaCS

Lab 6: Advanced Conditions, Indefinite Loops, and Strings.

Feb 27

Lab 6

Slides

Feb 28

Slides
Examples

Mar 02

Slides
Examples

Week 8

Mar 05

Slides
Examples

Lists, HtTlaCS - Chapter 10

Files, HtTlaCS - Chapter 11

Lab 7 Preparation assignment in HtTlaCS

Read about recent winners of the Turing Award (Computer Science's Nobel Prize) and their work in cryptography: Stanford cryptography pioneers Whitfield Diffie and Martin Hellman win ACM 2015 A.M. Turing Award

Optional: Read about Turing, a hero of computer science

Lab 7--Strings, ASCII, and lists

Mar 06

Lab 7
Slides

Mar 07

Slides
Examples

Mar 09

Slides
Examples

Week 9

Mar 12

Slides
Examples

Files, HtTlaCS - Chapter 11

Exception handling, HtTlaCS - Chapter 13

Modules

Dictionaries, HtTlaCS - Chapter 12

Lab 8 Preparation in HtTlaCS

Cryptocurrencies:

Optional:

Mar 13

Lab 8
Slides

Mar 14

Slides
Examples

Mar 16

Slides
Examples

Week 10

Mar 19

Slides
Examples

Defining and designing our own Classes, HtTlaCS - Chapter 16

Lab 9 Preparation in HtTlaCS

Exam Preparation Document

No broader issue

Lab 9: Dictionaries and Defining Classes

Mar 20

Slides
Lab 9
Examples

Mar 21

Slides
Examples

Mar 23

Exam 2

Week 11

Mar 26

Slides
Examples

Developing larger programs

Designing Classes
HtTlaCS - Chapter 17

Linear vs. Binary search

Recursion

Lab 10 Preparation in HtTlaCS

Mar 27

Slides
Lab 10
Examples

Mar 28

Slides
Examples

Mar 30

Slides
Examples

Week 12

Apr 02

Slides
Lab 11

2D Lists

Python compared with other programming languages

Computer Science Wrapup

Lab 11 Preparation in HtTlaCS -- very short; also review classes if you're struggling with them and with the binary search code, especially with respect to how to modify it to search a list of Person objects by name.

Lab 11

Broader Issue: Read both articles and summarize in one post:

Apr 03

Slides
Examples

Apr 04

Slides

Apr 06

Slides

Week  

Apr 09

Final Exam

Final Exam Preparation

Apr 10

Apr 11

Apr 13