| On This Page |
|
|
| Instructor Information |
| Name |
Ed Parrish |
| Email |
See instructor's homepage. |
| Office location |
See here. |
| Office hours |
See here. |
| Phone |
See here. |
| Contacting Instructor |
If you have any questions about the course or need assistance, please contact me during office hours in person or by telephone, or at any time by e-mail. |
^ top |
| Course Information |
| Course title |
Introduction to Programming Concepts and Methodology, C++ |
| Course Number |
CS 11 |
| Section Number |
35554 |
| Course description |
Presents an introduction to computer programming using the C++ programming language beginning with basic principles and progressing to object-oriented programs. Includes: algorithms, data types, declarations, expressions, selection, repetition, functions, recursion, libraries, arrays, classes, objects, files and streams. Prepares students for CS 19 or CS 20J |
| Course dates |
02/09/04 through 06/05/04 |
| Location |
Room 516 |
| Meeting day(s) |
Tuesday |
| Meeting time(s) |
6:00 PM to 10:15 PM |
| Prerequisite(s) |
None. |
| Recommended Preparation |
CS 1 or CS 2; MATH 154. Eligibility for ENGL 100 and READ 100. |
^ top |
| Course Objectives |
| |
- Apply the principles of software engineering to the design of introductory programs using structured top-down design.
- Apply the principles of software engineering to the design of introductory object-oriented programs.
- Write, document, test and debug C++ programs using functions.
- Use declarations, expressions, selection and looping statements, functions, classes, strings, enumerated types arrays, and structures at an introductory level.
- Read, interpret, analyze and explain introductory C++ programs.
- Solve 6 classic mathematical problems whose underlying explicit and recursive solutions are basic to the study of computer algorithms.
- Design and write elementary sorting and searching algorithms.
- Research sorting and searching algorithms using Internet search engines.
|
^ top |
| Who Should Take This Course |
| |
The following people will benefit from this course:
- Students who want to learn basic programming skills.
- Students who want to prepare for the advanced-placement test in programming
- Students preparing for CS-19: C++ Programming
- Programmers who want to learn C++ at a slower pace than CS-19.
|
^ top |
| Student Readiness |
| Email |
All students are requested to have an e-mail account. |
| Internet Access |
You need Internet access to view course materials on my web site, to turn in assignments and to take quizzes. Internet access is available in the CTC for all students enrolled in this course. |
| Technical Skills |
Students need technical skills in the following areas to be successful in this course:
- Computer Basics
- File Management
- Text Editing
- E-mail
- Web Browser
Use the Readiness Self-Assessment form to check if you have at least the minimum preparation needed for this course. Most of these skills are taught in CS-1.
|
| Patience and Time |
If you have enough time to sit in class and in lab, but don´t have 8-12 hours a week to devote to homework, drop this class. You will need time to experiment with the details of the programming language, and to design solutions to assignments. |
^ top |
| Textbooks and Other Materials |
| Required books |
Absolute C++, 1/e, Walter Savitch, Addison Wesley, ISBN 0-201-70927-9, book Web-site |
| Other Materials |
Source code files for the textbook: Available from the book Web-site or here.
|
^ top |
| Grading Policies |
| Assessed areas |
Your final grade is weighted based on your performance in the following areas:
| In-class exercises |
15% |
| Programming assignments |
35% |
| Midterm exam |
20% |
| Final exam |
30% |
|
| Lesson exercises |
Exercises are generally turned in once per week, and are due by the beginning of class on the Tuesday of the following week, unless otherwise shown on WebCT. I will not accept late exercises for any reason. However, I do throw out the lowest exercise score in determining the final grade.
If you are going to miss class, then you should arrange to turn in your exercises before class starts. Since we use WebCT, you can submit your exercises from any computer connected to the Internet.
Exercises are graded on "best effort" basis. You will receive full credit if you clearly attempt to complete all exercises. For each exercise you do not complete, your grade for that exercise will be reduced by 10%, which is one full grade point.
|
| Programming assignments |
Programming assignments are usually due at the beginning of class on Tuesday, but the date shown on WebCT is the official due date and time. I will not accept late assignments for any reason because assignment solutions are often discussed in class and posted. However, it is possible to improve assignment scores by completing extra credit work. Most assignments have some extra-credit suggestions.
If you are going to miss class, then you should arrange to turn in your assignments before class starts. Since we use WebCT, you can submit your programs from any computer connected to the Internet.
The Sampler Project is graded as a double assignment.
If you do not want to complete the homework because the assignments are not challenging enough, see the instructor for more challenging assignments.
|
| Midterm exam |
The midterm exam must be taken when scheduled, except by prior arrangement with the instructor.
If you score below 75% on your midterm exam, you may request the instructor to weight the final exam more heavily and the midterm less heavily. For such requests, the instructor will weight the midterms at 10% and the final exam at 40%. You must make this request in writing, such as e-mail, before the final exam.
|
| Final exam |
The final exam is a practical exam given during finals week. You will need to complete a series of programming steps to pass the final. Some multiple-choice questions may be given as well.
|
| Grade interpretation |
Grading within each area is based on the following scale:
| Grade |
From |
To |
Description |
| A |
90% |
100% |
Outstanding work demonstrating mastery of the subject. |
| B |
80% |
89.9% |
Above average work with a solid understanding of the subject. |
| C |
70% |
79.9% |
Satisfactory work meeting all minimum requirements. |
| D |
60% |
69.9% |
Substandard work not meeting expectations in one or more areas. |
| F |
0% |
59.9% |
Unsatisfactory work. |
If you have questions about problems you missed on any exercise or assignment, please see me right away. I want to ensure both that you understand the material and that your grades are accurate and fair.
|
^ top |
| Alternate Grading and Incompletes |
| Credit/No Credit Option |
By default, everyone receives a letter grade. If you request the Credit/No Credit Option, you must complete the course work at a satisfactory (i.e. "C") or better level. For more information, see the Cabrillo Academic Policies and Procedures document. |
| Incompletes |
You may request an incomplete from the instructor if you are doing passing work and regularly attending at least 75% of a course, but are unable to take the final exam (or otherwise complete the course) because of illness or other unforeseeable emergency and justifiable reasons. You have one year to complete the incomplete. For more information, see the Cabrillo Academic Policies and Procedures document.
|
^ top |
| Typical Class Session |
| |
The following is an outline of a typical class and lab session:
| Time of Day | Event |
| 6:00 PM | Announcements and discussion of questions that have short answers or broad interest within the class |
| 6:15 PM | Lecture and exercises |
| 7:15 PM | Break |
| 7:30 PM | Lecture and exercises |
| 8:45 PM | Break |
| 9:00 PM | Lecture and exercises |
| 10:05 PM | Exit classroom (passing time) |
|
^ top |
| Working Together |
| Helping Each Other |
I encourage you to work in pairs as explained in Pair Programming below. If you decide to work with someone who is not your pair-programming partner, then that is acceptable under certain conditions.
If you want to work on homework assignments with another person, other than your pair-programming partner, you should feel free to discuss problems and ideas for solving problems. You may give and receive help with computer problems, editors and debugging techniques. It is also acceptable to discuss general approaches to problems or algorithms with others.
However, you are not free to show your actual homework solutions or code to any other person before you turn in an assignment. Viewing or copying any part of another person's program, or allowing your program to be copied or viewed is not permitted.
Group study can accelerate learning, but only when each student takes responsibility for mastering all the material. Little is learned if each student works only one or two problems and merely copies answers for the rest.
If you have questions about what is permissible, please ask me.
|
| Pair Programming |
In the real world, programmers often work together. Some studies suggest that the programmers are more productive and produce higher-quality work when working as pairs. In addition, other studies have shown that some students learn better when they work collaboratively. This is sometimes called "pair-programming".
To accommodate those who learn better collaboratively, I encourage you to work with one other student on homework assignments. However, you must follow the instructions on the Pair Programming page. Working on homework assignments with people who are not students of this course is not acceptable.
|
| Joint Exercises |
Money for education is in short supply in California due to the current budget problems. As a result, there are not enough computers for every student to have their own computer in this classroom.
To work around this shortage of computers, you may need to work with others on in-class exercises. If there are more students than computers, you must be willing to work with one other student. If there are more computers than students, you may still work on in-class exercises together, if both students so choose.
When working together, you and your partner must work collaboratively at the single computer. One person is the "driver" and types the work into the computer. The other person is called the "reviewer" and actively checks the work entered by the driver. Each partner spends about one-half of the time for each class as the driver and the other half as the reviewer.
|
^ top |
| Academic Dishonesty |
| |
Any confirmed academic dishonesty, including but not limited to copying assignments or cheating on exams, will result in disciplinary action. This action will include reporting the incident to the Vice President of Student Services for inclusion in your record.
I expect homework assignments to vary significantly from student to student. I have used, and plan to continue using, a program to automatically detect copying. If your work is similar to another student's, you will both receive a zero. If your work is similar to other work on the Internet, you will receive a zero. It is your responsibility to prove your work is original.
During exams, I expect there to be no talking, and no wandering eyes. It is your responsibility to make it abundantly clear to me that you are not cheating.
Any person caught cheating will be given a grade of zero for the assignment or exam. The second offense will result in a no-pass or failing grade for the course.
|
^ top |
| |