Welcome to CS0008, an Introduction to Computer Programming! This course teaches the basics of programming, using Python, which is an industrial-strength programming language used at companies like Google and Industrial Light and Magic.
The course consists of 2.5 lecture hours per week, 50-minute weekly labs, optional weekly programming lab exercises, regular assignments, 2 tests, and a final exam. (Phew!) I am keeping you busy throughout the term because learning to program is like learning to play an instrument; if you want to play well, you need to practice regularly.
|T,Th 1:00-2:15pm, SENSQ 5502 (24532(A))||M: 1-1:50pm (24639 (A1)) & 4:00-4:50pm (24640 (A2)), SENSQ 6110|
|Prof Jan Wiebe||wiebe [at] cs.pitt.edu||SENSQ 5409||T: 2:30-3:30pm; or by appt (please send email or see me after class)|
|Teaching Assistants||Office||Office Hours|
|Graduate Grader: Luca Luginifirstname.lastname@example.org||SENSQ 6150||Thurs 10am-11am|
|UGRAD TA: Conor Curryemail@example.com||SENSQ 6506||W 3-5pm|
|UGRAD TA: Christian Clarkfirstname.lastname@example.org||SENSQ 6506||W 1-3pm|
Course DescriptionThis course will cover fundamental concepts in computer programming including control flow, data structures, sorting and searching algorithms, object-oriented programming concepts, accessing databases, and good program design. You will learn how to make computers do what you want them to do. You may be planning to be a linguist, physicist, nurse, or computer scientist. Being able to program and understanding how software works will be extremely valuable, whatever you do.
Course RationaleThis is a first course in computer science programming. It is recommended both for students intending to major in computer science who do not have the required background for CS 0401, as well as for students majoring in another area. There are no prerequisites for the course.
- Required: Starting out with Python (third edition). By Tony Gaddis.
|Labs||15%||Attendance is required for credit. All labs carry equal weight.|
|Assignments||25%||All assignments carry equal weight.|
|Final exam||30%||To get a C or better in the course, you must get 60% or higher on the final exam.|
Webpage and CourseWebCourse materials will be distributed via the course web page. A schedule on the web page will include lecture topics, lecture notes, readings, assignments, labs, and information about the exams.
Grades and solutions will be distributed via courseweb.
Lab SessionsLab sessions will be held during recitations. You will work in pairs. Together, you'll work through examples and explore concepts in Computer Science. The lab sessions will help you learn the material and will also give you valuable experience explaining things to each other.
Variety is the spice of life, so you should switch up partners periodically.
The labs will be graded S/U (satisfactory/unsatisfactory). You'll earn an S grade for a lab if you attend the session, work with your partner, and complete the lab with reasonable (if not all correct) answers. If needed, you can finish the lab after the session. Labs are due at the beginning of your next lab session. Labs after that time/date will not be accepted.
AssignmentsAssignments will receive numerical grades. Assignments are due at 11pm on the due date. The late penalty is 10% per 24 hours, for up to 72 hours (including weekend days). No assignments will be accepted 72 hours after the due date/time.
Instructions for submitting assignments will be included on the assignment handouts.
All graded materials that a student receives back should be saved in a safe place until after the term has ended and he/she has received and accepts his/her final grade. In this way, any grade discrepancies can be easily resolved.
ExamsThe questions on the exams will all be similar to something we covered in lecture, on an assignment, or in a lab. To study, read the text, and then use the lectures, assignments, and labs to focus studying.
See "What will be on Exam X" on the schedule to see what will be covered on Exam X.
Exams 1 and 2 are not cumulative. The final exam is cumulative.
The exams are closed book and closed notes.
The material gets more complex as the course proceeds, and later exams build on the stuff covered in earlier exams. So, keep up!
Students are expected to be present for all exams. Make-up exams will only be given in the event of an emergency, and only if I am informed in advance. If you cannot contact me directly, send me email or call the CS Department (624-8492) and leave me a message. Failure to notify me prior to missing an exam will result in a zero for the exam.
myprogramminglabmyprogramming is a website with Python exercises, where you enter answers to questions and the website gives you feedback. To see how it works, go through the introductory videos. There is a courseID you need to register (I can't put it on the web). Once you register, you will be able to access not only the exercises, but an electronic version of the text (eText) and some videos covering the material created by the author of the text (VideoNotes).
Other Policies and Notes
Lectures will be mixtures of powerpoint slides, live programming
demos, and work on the board. The powerpoint slides will be available
on the webpage. However, the slides will mainly just structure the
lecture. Most of the course content will not be on the slides.
If a student misses a lecture, he/she is still responsible for the material covered and is advised to copy the notes from a classmate.
- Academic Integrity: Each student is expected to do his/her own work. For a first offense, a student caught collaborating / cheating in any way will receive a zero for the exam or assignment in question. In the event of a second offense, the student will receive an F for the course and may be subject to stronger action. Note: Submissions that are alike in a substantive way (not due to coincidence) will be considered to be cheating by ALL involved parties. Please protect yourselves by only storing your files in private directories, and by retrieving all printouts promptly Furthermore, no student may bring any unauthorized materials to an exam.
- If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, 412-648-7890 or 412-383-7355 (TTY) as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.