Spring 2009

Weekly Schedule (down below)     

CS 199 Computer Science for Beginners

(counts as CS 161, as of Summer 2009)

Computer Science Department
Maseeh College of Engineering
Portland State University

Instructor

Lois Delcambre
(lmd with the usual address of cs dot pdx dot edu)

Office hours
(Lois Delcambre)

5:30PM-6:30PM Tuesdays and Thursdays

Other times by appointment; e-mail me to set up an appt.

Meeting Times

Tuesday/Thursday 18:40-20:30

Location

Fourth Avenue Building (FAB), Room 150

Things to do:

1. Sign up for the E-mail List for the Class

The e-mail list "cs199@cecs.pdx.edu" will be used for announcements of general interest to the class, from the instructor and from the grader.  You can also send questions and answers to this mail list. 

URGENT!   In order to join the mail list, please visit the following web page and register:

https://mailhost.cecs.pdx.edu/mailman/listinfo/cs199

2. Get a PSU/CECS Computer Account (if you don’t have one)

All CS199 students are entitled to get a computer account at PSU in the College of Engineering and Computer Science.  If you already have such an account, then you don't need to get another one.  You may find it useful to use College of Engineering and Computer Science account for your homework assignments.  Note: you need this account in order to use the computer labs in the Fourth Avenue Building and in the Engineering Building (EB325).  Details on how to get an account can be found here:

http://www.cat.pdx.edu/index.php?option=com_content&task=view&id=86&Itemid=148

 

3. Get a Proximity Card (if you don’t have one)

A proximity card is a PSU card that allows you to trigger the automated door and building locks.  If you don’t have one, then you can get one by going to Neuberger Hall (on the Park Blocks); go to the first floor lobby; go to Window 7, 8, or 9.

4. Get (after hours) access to the Fourth Avenue Bldg. (& lab)

After you get your proximity card (see #3 above), go the CS Tutors in C88-01 to get access to the Fourth Avenue Building and to get access to the computer labs in the Fourth Avenue Building.  Note that the Windows lab, FAB 55-17 Maseeh College Intel Lab (35 computers) is open all the time.  But you will need proximity card access to get into the building after hours.

5. Get (after hours) access to the Engineering Bldg. (& lab)

After you get your proximity card (see #3 above), you can get access to the Windows lab in the Engineering Building.  The computer lab with Windows machines is in room EB 325 Maseeh College EB Intel Lab (39 computers).  You need to go to the Student Services office in EB100 on the first floor of the Engineering Building in order to get access to the building and to this lab.  Or… you can give me your PSU id number, your proximity card badge number, and your last name and I will be able to get access to EB 325 for you.   I will be collecting your information during the first week of class; if you miss that opportunity, then you’ll need to visit the Student Services Office in EB100.

For assistance with PSU/MCECS computer systems:

If you have problems using the computer systems, you can contact the Computer Action Team (the CAT).  Their website is: http://www.cat.pdx.edu/ and their e-mail address is: support@cat.pdx.edu

Python for your laptop or desktop

If you have your own desktop or laptop computer and you know how to download/install programs, you may want to download Python, Version 2.6.1 from the Python web site: http://python.org/  This will allow you to use Python and complete your exercises directly on your laptop or desktop without using the MCECS computer labs.

For assistance with Python and your programming exercises and assignments:

You may find it useful to look at the documentation available at the Python web site: http://python.org/
Be SURE to use version 2.6.1 (and NOT version 3.0.1) because version 3.0.1 is a much different language and it does not match our textbook.  You can click on the Documentation link and then look at the Python tutorial or you could look at the Python Language Reference manual.  (Or, you may find that these documents aren’t very useful.  Perhaps later in the quarter you might find them useful.  I just wanted to let you know that they are available.)

You can visit the CS Tutors in C88-01 of the Fourth Avenue Building.

Course Description

Introduction to fundamental concepts of computer science.  Problem solving, algorithm and program design, data types, loops, control structures, subprograms, and arrays. Learn to write programs in a high level programming language.  Surveys current social and ethical aspects of computer science.  More details …

Textbooks

REQUIRED:
Python Programming: An Introduction to Computer Science, by John Zelle, Franklin, Beedle, and Associates, 2004 (ISBN 1-887902-99-6). 

SUGGESTED:
You may benefit from looking at online materials about Python.  (I may post suggestions here as the quarter progresses.) 

One useful book is: How to think like a Computer Scientist: Learning with Python, by Allen Downey, Jeffrey Elkner, and Chris Meyers, Green Tea Press, 2002 (ISBN 0-9716775-0-6).  This book is available online, for free, as well at: http://greenteapress.com/thinkpython/thinkCSpy/

Assignments/Grading

Tests: There are three in-class tests: on Tuesday of Week 5, Week 8, and Week 11 (Finals week).  See the weekly schedule below for details about which material is covered in each test.  Each test is worth 21% of your grade.

You are allowed to use your textbook during the exam.  So please remember to bring your textbook to class for the exam. 
You are allowed to use dictionaries, including foreign language dictionaries. 
You are NOT allowed to use any other material (such as the slides or your notes) during the exam.  

Work entirely by yourself on exams; ask questions only of the instructor or exam monitor.

 

Exercises: There are 7 exercises.  Each exercise is worth 4% of your grade.  (Exercises are worth 28% of your grade.)

Exercises can be done individually or in teams of two students. 
If you work with a partner, then be sure to indicate both students’ names when you send the e-mail.

 

In-class activities: Each class period (except for the classes where we have tests), we will have some sort of in-class activity.  Sometimes these activities will involve using a computer, sometimes not.  You will receive credit for these activities as long as you attend class and you attempt these activities.  Activities are worth 9% of your grade; each activity is worth 0.5% of your grade. 

Submission of exercises:

You must submit your exercises by sending e-mail to the instructor (see above for the e-mail address).  If you are submitting a python program, you must have a file name of yourlastname.py
If you work with a partner on your exercises, make sure you put both last names in the file name – like this smith-jones.py for two students where one student has a last name of Smith and the other has a last name of Jones.

Policies

Assignments are due at midnight on the date listed in the weekly schedule. 

If an extraordinary situation (medical, personal, work-related, or other emergency) prevents you from working for a period of time, contact the instructor at your earliest possible convenience to discuss your situation and arrange a special schedule for your classwork.

Makeup tests will only be given in cases of medical, personal, work-related, or other emergencies.  If an emergency arises and you are going to miss a test, contact the instructors at your earliest possible convenience.  

Requests for regrading must be submitted to the instructor in writing within one week of the time the graded assignment was made available for pickup.  You must be specific in saying why you feel your answer deserves additional credit.  A request for regrade may result in a re-evaluation of the entire assignment and your total grade may increase or decrease as a result.

Students with disabilities who are in need of academic accommodations should contact me as soon as possible to arrange needed supports.  Students are also encouraged to contact the Disability Resource Center (DRC) for additional information on support services and available accommodations at 503 725-4150.  More information is available at: http://www.pdx.edu/uasc/drc.html

Academic Integrity

Student Conduct [Excerpt from the 2007-2008 PSU Catalog, page 29]

The policies of the University governing the rights, freedoms, responsibilities, and conduct of students are set forth in the Portland State University Code of Student Conduct and Responsibility, which has been issued by the president under authority of the Administrative Rules of the Oregon State Board of Higher Education. The code governing academic honesty is part of the Code of Student Conduct and Responsibility. Students may consult these documents in the Office of Student Affairs, 433 Smith Memorial Student Union or by visiting www.pdx.edu/dos/conduct.html.

 

Academic honesty Academic honesty is a cornerstone of any meaningful education and a reflection of each student’s maturity and integrity. The Code of Student Conduct and Responsibility, which applies to all students, prohibits all forms of academic cheating, fraud, and dishonesty. These acts include, but are not limited to, plagiarism, buying and selling of course assignments and research papers, performing academic assignments (including tests and examinations) for other persons, unauthorized disclosure and receipt of academic information, and other practices commonly understood to be academically dishonest

Weekly Schedule

There is reading assigned for each class session. You are expected to read the sections AFTER the class for which they are assigned.

 

Week

Date

Topic

Reading Assignment

Handouts

Schedule

1

Mar. 31

Introduction; class web site; accounts & access; IDLE; what is a computer; print/assignment, variables.
Activity: using IDLE

Chapter 1, Zelle

 

 

Apr. 2

Definite loops; import & reload; compiling vs. interpreting

Activity: modifying/writing a program

Chapter 2, Zelle

Notes 1

Example 1

Exercise 1 assigned

2

Apr. 7

Functions and parameters

Activity: writing a program (a times table)

Chapter 1 and 2, Downey

 

 

Apr. 9

Numeric data types; overflow

Activity: writing programs

Chapter 3, Zelle

 

Exercise 1 due

Exercise 2 assigned

3

Apr. 14

Binary numbers, data types (cont.)

 

 

 

Apr. 16

Debugging

Introduction to strings

 Chapter 4, Zelle

(skip section 4.4.2 through 4.4.5)

 

Exercise 2 due
Exercise 3 assigned

4

Apr. 21

More about strings and lists

 

 Notes 4

 

Apr. 23

 Review for test 1

 

 Study Sheet

Exercise 3 due

5

Apr. 28

 Test 1

Apr. 30

Tuples, print templates, text files as input/output

 (Ch. 4, cont., Sections 4.5 and 4.6)

 

Exercise 4 assigned

6

May 5

 Lists, tuples

Ch. 11 (Sect 11.1-11.2) Zelle
Chapters 8 and 9 Downey

 

In-class work: Ch. 11, Discussion Questions 1, 2; Prog. Exercise 5a

May 7

While loops, for loops, if statements (mixed)

Ch. 7 and 8 Zelle

 

Exercise 4 due
Exercise 5 assigned

7

May 12

How to design programs;
random numbers

Ch. 9 Zelle

slides

Write a function that “rolls the dice”.  Write a functions that (calls that function) and rolls two dice.

May 14

 Review for test 2

 

Study Sheet

Exercise 5 due

8

May 19

 Test 2

May 21

Designing programs (cont.)

Debugging, testing

 Appendix A Downey

 

Exercise 6 assigned

9

May 26

Nested lists
(aka 2-dimensional arrays)

 

 

 

May 28

Recursion

Section 13.2, Zelle
and
Sections 4.9-4.11, 5.5 Downey

 

Exercise 6 due

Exercise 7 assigned

10

June 2

Discussion; introduction to Unix; review for test 3

Unix information

see Basic commands

Nano – text editor

See nano manual

Study sheet

 

June 4

Introduction to other programming languages

 

 

Exercise 7 due

11

Tues.,

June 9
1730-1920

Test 3

.