CS 0007 - Introduction to Computer Programming
Fall Term: 05-1
|
Class |
Recitation |
Time: |
10-10:50 |
11-11:50 or 12-12:50 |
Days: |
MWF |
F |
Room: |
203 David Lawrence |
5505 Sennott Square |
Webpage: |
Note: You must be signed up for a recitation.
Contact Information
Instructor: Jonathan Misurda |
|
TA: Roochi Mishra |
||
Office: |
6404 Sennot Square |
Office: |
5324 Sennott Square |
|
Phone: |
(412) 624-9129 |
Phone: |
(412) 624-8455 |
|
Email: |
Email: |
|||
Office Hours: |
10-12 Tues & Thurs 11-12 Mon & Wed |
Office Hours: |
1-4 Mon 1-2 Fri 3-5 Wed |
Description
Computers have become increasingly pervasive in todays society. Their power to do complicated and repetitive tasks quickly and efficiently has made them invaluable tools in modern society. In this class, you will learn to harness the power of a computer to do new tasks by creating your own software as opposed to using existing programs. We will explore the limits of what a computer can and cannot do easily, and provide you with the knowledge and experience to recognize those problems that you may find in life that can be solved with the help of a computer, and the ability to make the computer do those tasks.
This class is meant as a first class in computer science. Anyone is welcome to take it, as computers can be useful in a variety of fields. It is also meant as an introduction to computer science for those students who wish to pursue the field further, but lack prior exposure to the material.
Prerequisites
There are no prerequisites. Concepts from basic Algebra will be drawn upon. Passing familiarity with the operation of a computer is also helpful.
(If you are already proficient i.e. had 1 or 2 courses prior in computer programming this is not the course for you.)
Course Purposes and Goals
Introduction to Computer Programming is meant as a course to expose interested students how computer software is written and tested. It seeks to illuminate the creative process that is computer programming from the ground up, with an emphasis on good preplanning and style.
In this course we will be writing procedural programs in the Java programming language. Not only will you learn what that precisely means, but you will also, at the end of the term:
Textbook
The text is:
Pohl, Ira and McDowell, Charlie. Java by Dissection. Addison-Wesley, 2000.
It can be found in the bookstore.
Class Policies
Exams: There will be a midterm and a final in this class. The scheduled final exam is on Saturday of Finals Week at 4pm. Instead of the problems that will cause, Ive decided to make the final the last day of regular classes. If this is a problem, let me know and we can work something out in advance.
Cheating will not be tolerated. Anyone caught cheating will be given a zero for the test and reported to the department following University procedures.
Labs and Quizzes: Attending recitation is an important part of this course. In recitation you will be able to work in a structured setting while completing small tasks (Labs). Concepts from class will be expanded upon and tested with unannounced quizzes.
Projects: There will be five out-of-class assignments given. These are to be completed in the given time (no extensions will be given without a valid excuse.) These are meant to be your own work; anyone found to be collaborating will be given a zero for the assignment. Collaborating also means using code from previous terms, other universities, your friends, or finding it on Google.
Participation: Attendance will not be taken, but in such a small class, any absence will be noticed. Several unexcused missed classes will adversely affect your grade.
Grading
Your grade will be based upon 2 exams, 5 projects, labs/quizzes given in recitation (the lowest one will be dropped), and participation:
2 Exams |
50% (25% each) |
5 Projects |
35% (7% each) |
Labs + Quizzes |
10% |
Participation |
5% |
Total |
100% |
The scale for the term will be:
Percentage |
Letter |
97 or above |
A+ |
93-96 |
A |
90-92 |
A- |
87-89 |
B+ |
83-86 |
B |
80-82 |
B- |
77-79 |
C+ |
73-76 |
C |
70-72 |
C- |
67-69 |
D+ |
63-66 |
D |
60-62 |
D- |
less than 60 |
F |
Term Schedule: The daily topics are subject to change depending on our pace. They are there to assist you in the readings so you can focus on those concepts prior to class.
Week 1 (8/30) |
Readings for this week: JBD 1
Project 1 Assigned Wednesday 9/1
Topics:
|
Week 2 (9/6) |
Readings for this week: JBD 2.1-2.4
No Class Monday Labor Day
Project 1 Due Friday
Topics:
|
Week 3 (9/13) |
Readings for this week: JBD 2.5-2.11
Project 2 Assigned Wednesday 9/15
Topics:
|
Week 4 (9/20) |
Readings for this week: JBD Appendix A1, 2.12-2.14
Topics:
|
Week 5 (9/27) |
Readings for this week: 3.1-3.4
Project 2 Due Friday 10/1
Topics:
|
Week 6 (10/4) |
Readings for this week: 3.5-3.10
Project 3 Assigned Monday 10/4
Topics:
|
Week 7 (10/11) |
Readings for this week: 4.1-4.5
Midterm Friday 10/15
Topics:
|
Week 8 (10/18) |
Readings for this week: 4.6 - 4.13
Project 3 Due Friday 10/22
Topics:
|
Week 9 (10/25) |
Readings for this week: 5.1 - 5.6
Project 4 Assigned Monday 10/25
Topics:
|
Week 10 (11/1) |
Readings for this week: 5.7 - 5.12
Topics:
|
Week 11 (11/8) |
Readings for this week: 6.1 - 6.6
Project 4 Due Friday 11/12
Topics:
|
Week 12 (11/15) |
Readings for this week: 10.1 - 10.5
Project 5 Assigned Monday 11/15
Topics:
|
Week 13 (11/22) |
Readings for this week: 10.6 10.8
No Class Wednesday or Friday Thanksgiving Break
Topics:
|
Week 14 (11/29) |
Readings for this week: 8.1 - 8.3
Project 5 Due Friday 12/3
Topics:
|
Week 15 (12/6) |
Readings for this week: None
Final Exam Friday 12/10
Topics:
|