CSCI 134 - Spring 2020

Introduction to Computer Science

Home | Face-to-Face Lectures | Remote Lectures | Labs & Homeworks | Resources | CS@Williams

Lectures from Before Spring Break

These lecture slides, Jupyter notebooks, and POGIL activities are from the course, prior to Spring Break and the pivot to remote offering of the course.

Jupyter Notebooks. Shikha's lectures use Jupyter notebooks as a teaching aid. Jupyter notebooks allow us to have a rich web-based interface to run interactive python examples. The notebook for each lecture is distributed here in the form of an html file, a pdf file, and finally the source 'ipynb' (read interactive python notebook) file.

How to read Jupyter Notebooks. Typing a command in a 'In[]' cell in a Jupyter notebook is the same as typing it in an interactive python session. The 'Out[]' cell of the notebook gives the resulting output. Thus, Jupyter notebook is essentially an enhanced way to use interactive python: it stores code examples that can be executed live and are rendered in a rich format.

Installing Jupyter Notebooks. All the lecture materials from the notebooks are available here in HTML and PDF format, and you do not need to install the application. However, if you would like to play with Jupyter notebooks and execute the code in the cells, you may download and install it by following the instructions here.

POGILs. Process-Oriented Guided Inquiry Learning (POGIL) worksheets are intended for students to complete collaboratively (generally, in Iris' class). Hands-on activities lead to deep learning. Discussing with a partner leads to better learning as well! The worksheets are set-up to scaffold thinking like a computer scientist, so be sure to ask lots of questions as your group proceeds through the POGIL activities. POGILs are intended to introduce topics and support discovery of new concepts. You may not know the answer to every question, but if you're thinking about the problem-at-hand, making an educated guess, and discussing with your group, you're POGILing correctly!

Date Topic
February 7Shikha:: Lecture 1. Hello, world.
Iris:: Lecture 1. Hello, world. | hello.py
February 10Shikha:: Lecture 2. Expressions. | nameage.py | Jupyter Notebook: [html] | [pdf] | [ipynb]
Iris:: Lecture 2. Expressions. | POGIL 1 Introduction | POGIL 3 Arithmetic Operators & Assignment
February 12Shikha:: Lecture 3. Functions. | dow.py | Jupyter Notebook: [html] | [pdf] [ipynb]
Iris:: Lecture 3. Functions. | Day of Week Algorithm | POGIL 12. None-Returning Functions | POGIL 13. Value-Returning Functions.
February 14 Winter Carnival. No Lecture.
February 17Shikha:: Lecture 4. Booleans & Conditionals. | daysInMonth.py | Jupyter Notebook: [html] | [pdf] [ipynb]
Iris:: Lecture 4. Booleans & Conditionals. | POGIL 5 & 7. Booleans & Nested Conditionals | POGIL 16. Conditionals.
February 19Shikha:: Lecture 5. Sequences and Loops. | sequenceTools.py | Jupyter Notebook: [html] | [pdf] [ipynb]
Iris:: Lecture 5. Iteration. | POGIL 8. While Loops | POGIL 9. For Loops & POGIL 10. Nested Loops.
February 21Shikha:: Lecture 6. Lists, Nested Loops, Files. | ifmain.py | fileReadingCode (zip) |
Jupyter Notebook: [html] | [pdf] [ipynb]
Iris:: Lecture 6. Lists & Modules. | POGIL 16. Lists | countwords.py
February 24Shikha:: Lecture 7. Strings. | bookStats (zip) | Jupyter Notebook: [html] | [pdf] [ipynb]
Iris:: Lecture 7. Strings. | POGIL 17. More Lists & Strings
February 26Shikha:: Lecture 8. Lists and Mutability. | Jupyter Notebook: [html] | [pdf] | [ipynb]
Iris:: Lecture 8. Tuples and Lists. | POGIL 19. Tuples & (Excerpt 10: Nested Loops)
February 28Shikha:: Lecture 9. Files & List Comprehensions. | Jupyter Notebook: [html] | [ipynb]
Iris:: Lecture 9. Files & List Comprehensions. | POGIL 22. List Comprehensions
March 2Shikha:: Lecture 10. Sets and Dictionaries. | Jupyter Notebook: [html] | [ipynb]
Iris:: Lecture 10. Sets and Dictionaries. | POGIL 20. Dictionaries
March 4Shikha:: Lecture 11. Lambda Sorting & Plotting. | Jupyter Notebook: [html] | [ipynb]
Iris:: Lecture 11. Sorting by Lambda. | POGIL 23. Lambda Functions
March 6Shikha:: Lecture 12. Generators. | Jupyter Notebook: [html] | [ipynb]
Iris:: Lecture 12. Plotting and Generators. | POGIL 21. Generators | plothp.py | hpCounts.csv
March 9Shikha:: Lecture 13. Generators and Iterators. | Jupyter Notebook: [html] | [ipynb]
Iris:: Lecture 13. Classes: Attributes & Methods. | POGIL 24. Classes: Attributes | POGIL 25b. Classes: Methods
Midterm ReviewMidterm Review Session Notes
March 11Shikha:: Lecture 14. Classes. | POGIL 24. Classes: Attributes | POGIL 24b. Classes: Slots | POGIL 25b. Classes: Methods
Iris:: Lecture 14. Iterators. | POGIL 24b. Classes: Slots | POGIL 32. Random
March 12Evening Midterm Exam is postponed.
March 13Lecture 15. Set Up Remote CS134.