Computer Science 150 Syllabus

Syllabus Index

Objectives

Computers are everywhere today.  The ideas in this course should be useful both to modern citizens of the world with main interests in other areas and also to people who are going on to further Computer Science study.

Textbooks and Software

Zelle, John. Python Programming: An Introduction to Computer Science. Wilsonville, Oregon: Franklin, Beedle & Associates, 2004, ISBN 1-887902-99-6.

Decker, Rick and Hirshfield, Stuart. The Analytical Engine, Second edition. Brooks/Cole, 2004, ISBN 0-534-39159-1.

Important Web Sites:

Beginning python: http://python.org/doc/Newbies.html
The python home page: http://python.org

Staff and Tutors

Professor:  Dr Andrew Harrington

Lakeshore Office:  Damen Hall 225 (773-508-3782)
Watertower Office:  Lewis Towers 512B (312-915-7982)
E-mail address

Initial office hours are below. See my main office hour page for updated information. 

Initial Office Hours

Lakeshore (225 Damen Hall):    Tuesday, Thursday:  11:30AM-12:30PM
Watertower (512B Lewis Towers):  Tuesday, Thursday:  2:00-2:30PM, 4:00-4:30 PM

Course TA's

Initial tutoring hours:  since classes are often using DH 342, look for the tutors in DH 341.  They might also be helping someone in 342 or 339.

Nilanjan Podder
, university ID: npodder
    Tuesday and Friday : 2:00-5:00PM

Sanketkumar Patel
, university ID: spate42
    Wednesday : 2:00-4:30PM & Thursday : 11:30AM.-2:00PM

Tutoring Assistance (free!)

Tutoring hours by other Computer Science TA's (generally walk-in) will be posted by about the second week of the semester at http://www.cs.luc.edu/academics/services/tutoring.  Your best choices for help are the professor and TA's for the course, and they will try to publicize initial hours during the first week of class.

The university supports an official Tutoring Center at the Lake Shore Campus, located in Damen Hall 149. Their phone extension is 8-3194.  Their web site is http://www.luc.edu/depts/lac/skills/tutor.html.  You may need to make appointments in advance for university tutoring.  When consulting the university tutoring center hours, remember that tutors for Comp 150 are only available during some of those times, due to the personal schedule of the tutor(s).

Course Materials

Private information between professor/TA and individual students will be handled through the University Blackboard system.  It will mostly be used for grades and homework submissions.  The public course materials will all be posted directly on the web under http://www.cs.luc.edu/~anh/150.

Class Attendance and Activities 

I expect students to be present in classes. Pop quizzes, discussions and paired class lab activities all need your presence.  Please let me know in advance if you must be absent for a scheduled college activity. Illness might prevent you from being present for a couple of classes during the term but anything beyond that will probably have a detrimental effect on your grade. This class is being taught as an integrated lecture and lab. If you have an excused absence you may do the day's lab work on your own and hand in or display the work by the next class meeting. 

Many classes will begin with a pop Quiz over assigned reading or the material covered in the previous class. These will be very short - there will be no makeup if you are absent or late. I will drop the lowest three grades.

You have well-written books.  I rarely consider it a good use of class time to reproduce factual information in the textbooks.  That is why you will have reading assignments first (reinforced with pop quizzes).  Much better uses of our time are answering questions on basic material remaining after reading, using and synthesizing the course material in creative ways in discussions, and your hands-on lab work.  

I will not always be following the books.  Information and activities in class that are not in the book will be on exams and used in homework.  I will have at least some notes from classes available on the web, but do not depend at all on their completeness or promptness.  I will generally have programming examples from class on the web promptly. 

I am very happy to give extensive help outside class to people who attend class.  If my first pass on an idea was not enough for you, we can do better together in pass 2, and maybe pass 3 if needed, ....  Learning is a spiral process, and the rate varies by person and individual topic.

Semester Grades

Grading weights:  
       quizzes (8%), programs/homework (14%), labs/classwork (8%), three exams (15% each), final exam (25%).

Points are comparable only within an individual catagory.  (For example an exam point is roughly three times a program/homework point.)  Only raw grades will appear in Blackboard, not scaled or weighted grades.    

I convert to course letter grades with the following minimum requirements:
A 93 A- 90 B+ 87 B 83 B- 80 C+ 77 C 73 C- 70 D+ 67  D 63.

If you have consistently displayed more knowledge and ability in class discussions than you show in your exams, I may raise this grade. Note that one way to display your effort and thought is to ask questions in class about your readings!

Exams

The tentative dates are posted in the course schedule.

Exam coverage

Exams will cover material discussed in class, reading material in the text and on the web, lab work, and assignments. Exams will always be cumulative, but they will NOT include new material from the class immediately before the exam. This way there will always be time for questions after digesting a class. 

Exam Grading

Do not write down things on exams that you can see are incomplete or incorrect without making some comment acknowledging this -- it is better to know you are wrong than to be wrong and think you are right.

Missed Exams

If you must miss an exam, let me know well in advance. Then if you have a good reason we can possibly make other arrangements. I have little sympathy for people who inform me after the fact for no good reason. I may completely excuse you from an exam if you were sick or unable to attend for long enough. Most often if you cannot take an exam at the usual time, I will want you to take it a little later, BUT I WILL NOT LET ANYONE TAKE A LATE EXAM AFTER THE NEXT CLASS PERIOD. If you somehow fail to let me know in a timely fashion that you have an excuse and want to take the exam late, appear at my office before the NEXT class after the exam, and I may be able to give you the exam.

No second try:  If you have an excuse for not being prepared to take an exam, but decide to take it anyway, you don't get to change your mind after you see a poor grade.  Being sick is not a way to get one more chance than everyone else.  In certain circumstances I may allow you to delay an exam due to illness, but I will not let you be reexamined due to a poor grade.

Assignments 

There will be reading assignments for most days. Often they are followed by suggested review questions or exercises that are good to do as you read or right after the class on the subject, but are not to be turned in.  There is a separate column in the course schedule for graded written assignments, generally submitted through Blackboard, using my electronic submission instructions.  Assignments are due at midnight at the end of the date specified unless otherwise stated.  Programming assignments should be turned in on time, running correctly.  Graded assignments are either listed as programs (which you may work on in pairs)  or homework, which is an individual assignment.  Working on programs and homework problems is essential to your understanding of the course material and giving it insufficient attention will almost surely affect your exam performance.  

You must give credit BY NAME to any person who assists you in completing an assignment. Be sure to give some indication of the nature and the amount of help you received. Failure to acknowledge such help is PLAGIARISM and will be dealt with accordingly. 

Late Assignments

Late work will be penalized 10% per day including weekends.  If there is some special reason for an assignment being turned in late, preferably speak to me directly first.  I will consider reducing the penalties.  If I accept your reason, ALSO make a comment at the top of your source code in the main program. (This reminder helps!)

Pair Programming

It has been demonstrated recently that Pair Programming, two people collaborating on one problem on one computer, whether starting students or seasoned professionals, allows projects been done better and faster with more confidence, and also that students learn at least as well and have more enjoyment in the process.  We will do pair programming in this course for labs and programing assignments.  (Your exams will NOT be in pairs however!)  Read the page on how to make pair programming work and also the page of administrative guidelines

General Rules for Giving/Getting Help

An outside person, below refers to someone other than a pair partner if you have one.  On their joint assignment, there are no limits on the communication between pair partners, and a pair partner does not need to be listed under those helping you.

If you are seeking help: Your professor, TA, or official university tutor may read your code. You must acknowledge their help. You may not read an outside person's code but it is permissible to talk about the solution of the problem (not the actual code). Anyone with whom you discuss the problem, must be listed in your documentation. 

If you are giving help:You may not allow an outside person to read your code "to get the idea". It is permissible to talk about your solution but be judicious about the hints you give. Again, the other student is responsible for listing your help in the documentation. 

Academic Dishonesty

The penalty for cheating may be anywhere from a 0 on an assignment to a grade of "F" in this course. The appropriate dean will be informed in writing of any cheating incidents.

Cheating consists of, but is not limited to:

If you are working on a pair or group project, an "outside person" only refers to people other than your assigned partner or team.   Note that cheating goes both ways:  both giving and receiving. 

Consultation is allowed with me, the TA, or official tutors for the course.  If you consult with any of these people, still make a comment at the top of your work about the substance and depth of the help.  

Help from any source is fine concerning

Programming Environment

We will be programming in Python, available in the University Windows labs, and as a download to your own computer.  There are several versions..  You can go to the central site www.python.org/download.for a version for any operating system.  The University Labs have installed a version from ActiveState with some advanced features (that we will not need) specifically for Windows.  Both versions come with the graphical interface, Idle, which we will use.  Later in the semester we will also connect to a Computer Science Department server running Linux, that will allow you to create dynamic web pages on the account which we will provide you there.

Flash Drives  or other storage

The University computers labs (unlike Computer Science labs) do not provide students with any file server space, so you need to take all your files with you.  You are strongly recommended to get a USB 2.0 flash drive ($20-$200 depending on the capacity) and use it every time you are in the lab.  It takes almost no time to insert and remove, and it will have everything in one place.  It will allow east shortcuts to starting the software, too.  You can also store most of the electronic materials that come with your text, and have ready access.

Flash drive are very small, like a finger, and that makes them easy to forget and leave behind, particularly in the DH 342 lab, where the USB ports are in the back of the computer where you do not immediately see them.  This may seem silly, but after all the flash drive I have seen lost, I really mean it:  attach a LONG string to your flash drive and attach it to your books or notes or purse, or something you are pretty sure not to forget in the lab.  Then if you get up to leave without taking out your flash drive, you will realize you are still attached, and then you will not forget the flash drive!


There are many poorer and much more time consuming alternatives involving working on the computer D: drive, and then storing your work on some other medium, erasing D: drive, and restoring your work the next time you work on it.  There are several ways to store it (that you do not have to worry about if you have a flash drive!):

Campus Network, Rights and Responsibilities

As a user of the campus network, you should be aware of your rights and responsibilities in  http://www.luc.edu/is/policies.

Course Outline

The Course Schedule and Assignments page shows the progression of topics, reading, exams, and written assignments.  The time schedule is tentative.

Questions

Please contact me if you have questions about these ground rules or about anything else in the course.  After class, by email, in my office, by phone, all work for me.  I am here to help guide you in the rough spots.

Back to Comp 150 Home