CME 193
Location: Mitchb67
Times: Tu / Th 3:45PM - 5:35PM; April 4 - April 18
Instructors:
Austin Benson (arbenson AT stanford DOT edu) Dan Frank (danfrank AT stanford DOT edu)Office hours: (Austin) Mon/Wed 1-2pm outside ICME in Huang basement, also by appointment
We will be using Piazza for course communication. The course page is here.
Online MaterialWe are creating Just-in-time Online Learning Tools (JOLTS) for the course this quarter. For now, these tools will consist of short videos (1-5 minutes) on specific topics learned in class. We encourage you to watch these videos and provide feedback.
Lists Tuples Dictionaries Development EnvironmentWe have created a virtual machine (VM) to work with VirtualBox that has all of the tools needed for the class. The VM uses linux Debian 6.0.7 and has the following tools installed: NumPy , SciPy , matplotlib , and IPython . The username is cme193 and the password is 193cme. The root password is toor. To get started:
Download and unzip the VM appliance: cme193-debian-6.0.7.ovf.zip (1.9 GB). Download VirtualBox . Start VirtualBox and select File --> Import Appliance Select cme193-debian-6.0.7.ovf for the appliance. Course PolicyThere will be five homework assignments. You pass the class if you earn at least 70% of the points on each assignment. Homework is assigned for each lecture, and each homework is due by the beginning of the following lecture (except for the last homework, which will be due on April 22).
An autograder will be distributed with some of the homework. The autograder is there so you can tell if your work is correct. Gaming the autograder by hard-coding the answers it is expecting is a violation of the Stanford Honor Code.
You are encouraged to collaborate with others on the homework assignments. However, you must write up your own solutions. You may not copy each others' code.
Schedule April 4: Lecture 1: Introduction to Computing with Python [slides] [code in slides] [exercises andsolutions] Reading: How to start the Python Interpreter: [ windows ] [ Mac ] [ Linux ] [ Directly online ]. Python arithmetic , comparison operators , assignment operators , logical operators , operator precedence , if statements , if/else statements , and while loops . Lexical analysis : 2.1.1-2.1.3, 2.1.5-2.1.9, 2.3.1. This section of the Python docs contains vocabulary from Programming Language theory, so do not worry if you do not understand everything. However, the examples on indentation and logical lines are useful. Myths about Indentation Running a python script: Here is a video with instructions for using Notepad on Windows to execute Python programs. If you like Eclipse, you can use PyDev . Here is a Stack Overflow discussion on Python IDEs. April 9: Lecture 2: Data Structures [slides] [code in slides] [exercises andsolutions] Videos: Lists Tuples Dictionaries Reading: Data structures : 5.1, 5.3, 5.5, 5.6, 5.7, 5.8 Control flow with functions : 4.6, 4.7 April 11: Lecture 3: File I/O, Object-oriented Python, and Introduction to NumPy [slides] [code in slides] [exercises andsolutions] Reading: Input and Output : 7.1, 7.1.1, 7.2, 7.2.2 Reading and writing files Classes : Intro, 9.3.1-9.3.4, 9.4, 9.5, 9.6, 9.7, 9.9 Building and installing NumPy NumPy for MATLAB users April 16: Lecture 4: NumPy and SciPy [slides] [code in slides] [exercises andsolutions] Reading: Python Scientific Lecture Notes NumPy for MATLAB users NumPy Tutorial Introduction to NumPy April 18: Lecture 5: Data Visualization [slides] [code in slides] [exercises] Reading: Learning the Pythonic Way Python Scientific Lecture Notes Pyplot tutorial Simple plot Scipy plotting tutorial Assignments Homework 0: [pdf]. Not Due. Homework 1: [pdf] [starter code]. Due Tuesday, April 9. Homework 2: [pdf] [starter code]. Due Thursday, April 11. Homework 3: [pdf] [starter code]. Due Tuesday, April 16. Homework 4: [pdf]. Due Tuesday, April 23. Note: we do not meet for class on this day. Homework 5: [pdf]. Due Thursday, May 2 (extra credit). Resources tutorialspoint Python tutorial An Informal Introduction to Python The Python Tutorial CS 9H , UC-Berkeley self-paced Python course2012 Austin Benson
Template design by Andreas Viklund