CIS 122



Syllabus


In this class, you will learn basic programming techniques and concepts using python

Grading

Homework : 100% (likely around 8 assignments)

In particular, we have no tests, and no final.

Extra credit: Visit https://www.cs.uoregon.edu/Activities/Juilfs_Contest/ and scroll to the bottom of the page.

Click on one of the links for past years' problems. If you solve a problem, send me your code.

If it passes my tests, you get a number of percentage points added to your grade equal to the number of points associated with the problem.

For example, if you solve a problem worth 10 points, you will gain 10% to your grade in the class (typically this means a full letter grade)

Textbook

In my experience, beginning programming textbooks are not very good. I highly encourage people to use official documentation, which is better designed and better maintained

Python standard documentation: https://docs.python.org/3/

We have no official textbook for this class



Getting Python working

There are three methods you can use to run python

1) Recommend: Run through the terminal.

The instructions for this are below.

Install python3 from here: https://www.python.org/downloads/

2) Not perfect, but works okay: Use an online tool. I like this one: https://ideone.com/

Select python3. To add input to your program, click std and enter the data you wish to input

3) Not recommended: Use the program IDLE. Some people like this, but I find it extremely confusing

Running and Testing your programs

To run a program, follow these steps:

1) Write it using your favorite text editor.

2) Save it to a file with a name ending in .py (for instance, homework1.py)

3) Open a terminal

4) Navigate to the directory your python file is in. If your file is on the Desktop, you can do this by typing cd Desktop

5) Type python3 name_of_the_file_that_contains_your_code.py (Note that on Windows, you should type python, not python3. On Mac and Linux, this will cause python 2 to be used, which we do not want)




Instructor Information

email: foster@cs.uoregon.edu

office: Deschutes 100

office hours by appointment. Please don't be shy

Other Logistics

Homework will be posted on this page, and should be submitted on canvas

Lecture notes are posted on canvas

Will have a homework assignment due each week of the term on Monday

Pair Programming

If you wish to program with a classmate, you can. In that case, each person should submit the assignment, and also indicate who you worked with.

Note that pair programming is not "you do this part of the assignment, I'll do this part". Pair programming consists of one person programming while the other observes and assists. The programmers should trade off this role regularly throughout the assignment.

Assignments

Assignment 1, due Monday, June 27, 11:59 pm
Assignment 2, due Monday, July 4, 11:59 pm
Assignment 3, due Wednesday, July 13, 11:59 pm
Assignment 4, due Tuesday, July 19, 11:59 pm
Assignment 5, due Monday, July 25, 11:59 pm
Assignment 6, due Monday, August 1, 11:59 pm
Assignment 7, Due Wednesday, August 10, 11:59 pm
Assignment 8, Due Sunday, August 14, 11:59 pm

Solutions

Updates


Reading for Week 3
MyPy Website
Download MyPy Here