CSCI 150 Introduction to Object-Oriented Programming


This section of the course (Fall 2014) meets Mondays, Tuesdays, Wednesdays, and Fridays from 9:00AM to 9:50AM in Ritter Hall 121 (the Linux lab).

General Description

This course is an introduction to the theory and practice of object-oriented programming, focusing specifically on the Python programming language. For a number of reasons that we'll discuss in class, Python is particularly well-suited for a first course in object-oriented programming. In later courses you will learn some C++, Java, and sometimes other languages as well.

A detailed list of topics to be covered can be found on the course schedule page. On the course schedule page you will also find announcements of exams, homework assignments, and other date-sensitive material.

Textbook Information

The required textbook for the course is Object-Oriented Programming in Python by Michael Goldwasser and David Letscher. It is available from the SLU Bookstore, or from The authors have also made the book available to download for free.

Drs. Goldwasser and Letscher maintain a web site with resources related to the text, as well as list of errata (some of which are important since they break code examples in the book).

Computer Accounts

You should already have been emailed the details of your account on our department server a username (likely the same as your SLU email username), plus a randomly chosen password. The easiest way to log into this machine is directly from the computers in the Linux Lab where class is held. Alternatively, if you'd like to log in from somewhere else on campus, e.g. your dorm room, you can install a program on your computer called the NX Client and use that to connect to turing. The NX Client should be available from other computer labs on campus as well. Here are some instructions supplied by the Math and CS department web site.

It is a good idea to change your password to something a bit easier to remember the first time you log in. You can do this by opening a terminal and using the "passwd" command. You'll need to enter your old password first followed by your new password, and again for confirmation.

There are Computer Science tutors working in the Linux lab at various times during the week, including some hours at night and on weekends. They are there specifically to answer your questions regarding the lab computers, and to help with homework questions in this course, or other lower-division CS courses. Make use of them!

Also, please read the department and university policies on appropriate use of computer systems.

Homework and Exams

There will be homework and reading assignments every week. It is essential to keep up with the reading since there is a lot of material to cover, and only a limited amount of time we're able to spend together in class.

Your homework is to be done independently. I know you can easily copy solutions from classmates and change a few variable names, and many solutions can be found on the web. But doing either of these things is a violation of the academic honesty policy (see below). More importantly, if you can't do the homeworks independently, you are certain to fail the exams, and are wasting your time in the course. If you need help with the homework, you are always welcome to come to me (or find me on Google chat at all hours of the night) or the lab tutors.

Tuesdays will usually be "lab days". On lab days I'll hand out three or four (generally easy) exercises from the book and we'll work on them in class in pairs. I expect you to complete any of the problems you don't finish in class on Tuesday on your own time (but you don't need to turn these in).

There will be an in-class midterm exam given Friday, October 18th which accounts for 25% of your final grade. The final exam is scheduled for Monday, December 16th from 8:00-9:50AM; it is comprehensive and is worth 40% of your final grade. Class participation and homework assignments count for 35%, and so it essential to get your homeworks done, and attendance at every class meeting is mandatory. Make-up exams will not be given.

Students are expected to be honest in their academic work. The University reserves the right to penalize any student whose academic conduct at any time is, in its judgment, detrimental to the University. Such conduct shall include cases of plagiarism, collusion, cheating, giving or receiving or offering or soliciting information in examinations, or the use of previously prepared material in examinations or quizzes. Violations should be reported to your course instructor, who will investigate and adjudicate them according to the policy on academic honesty of the College of Arts and Sciences. If the charges are found to be true, the student may be liable for academic or disciplinary probation, suspension, or expulsion by the University. Students should review the College of Arts and Sciences policy on Academic Honesty.

In recognition that people learn in a variety of ways and that learning is influenced by multiple factors (e.g., prior experience, study skills, learning disability), resources to support student success are available on campus. Students who think they might benefit from these resources can find out more about:

Students who believe that, due to a disability, they could benefit from academic accommodations are encouraged to contact Disability Services at 314-977-8885 or visit the Student Success Center. Confidentiality will be observed in all inquiries. Course instructors support student accommodation requests when an approved letter from Disability Services has been received and when students discuss these accommodations with the instructor after receipt of the approved letter.