SYLLABUS HANDOUT for Winter, 2004-2005 C++ PROGRAMMING I CPT 123 Section 1A Alan R. Reinarz WELCOME TO METROPOLITAN COMMUNITY COLLEGE Metro Community College Page 1 of 8 Revised: May-03, 1/3/2005 SYLLABUS METROPOLITAN COMMUNITY COLLEGE SECTION I: THE CLASS AND THE INSTRUCTOR COURSE SECTION AND TITLE: CPT 123-Section 1A C++ Programming I ACADEMIC YEAR/QUARTER: Winter, 2004-2005 INSTRUCTOR’S NAME: Alan R. Reinarz LOCATION OF CLASS: EVC 131 LOCATION OF LABS: EVC 157 METHODS OF CONTACTING INSTRUCTOR: areinarz@mccneb.edu http://cot.mccneb.edu/areinarz METRO OFFICES HOURS* LOCATION PHONE FAX M/W: 10:30a-11:30a T: 2:30p-3:30p & 4:00p-5:00p SOC MAH 300 738-4089 738-4553 EVC 156 289-1364 289-1405 EVC 125 289-1451 289-1222 T/Th: 10:00a-11:00a *Stated office hours may need to be changed due to special circumstances or events. If the student wishes to meet with the instructor at a time other than scheduled office hours, the student should make an appointment with the instructor. IMPORTANT DATES: DATE CLASS BEGINS: DATE CLASS ENDS: LAST DATE TO DROP CLASS: DATES CLASS DOES NOT MEET: 12/02/2004 02/24/2005 02/09/2005 12/24/2004-01/02/2005 SECTION II: THE COURSE COURSE DESCRIPTION: This course introduces the C++ programming language. Problem solving using structured design is emphasized. Various features of the C++ language such as conditions, logical expressions, selection control structures, looping, functions and variable scope are covered. Students use modular programming techniques to solve a variety of problems. COURSE PREREQUISITES: CPT 105 – Introduction to Programming COURSE OBJECTIVES: Upon successful completion of this course, the student will be able to do the following: 1. Provide an overview of computer programming and problem solving. 2. Understand C++ syntax and semantics, and the program development process. Metro Community College Page 2 of 8 Revised: May-03, 1/3/2005 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Understand and use arithmetic expressions, function calls, and output in a C++ program. Understand program input and the software design process. Understand and utilize conditions, logical expressions, and selection control structures. Understand and utilize looping in a computer program. Understand and use the following additional C++ control structure: Switch, Do-While, For. Understand and use functions in a C++ program. Understand the concepts of scope and lifetime in a C++ program. Understand the purpose of the break and continue statements. Understand the concept of recursion (if time permits). Understand and utilize single and multidimensional arrays in a C++ program. Demonstrate simple sort and search techniques (if time permits). Describe the difference between call-by-value and call-by-reference. Utilize string manipulation functions from the string handling library. Understand the binary, octal, hexadecimal and decimal number systems and their relationship to computers. REQUIRED/SUPPLEMENTAL MATERIALS: Title: C++ Programming: Program Design Including Data Structures Edition: 2nd (2004) Author: D.S. Malik Publisher: Course Technology ISBN: ISBN: 0-619-16044-6 Materials: at least two 3.5” disks or other removable medium SECTION III: STUDENT RESPONSIBILITIES METHODS OF LEARNING: The student will have specific assignments to read and master. These assignments are indicated in the course schedule and/or outlined by the instructor. The student should have read the material prior to the class meeting date. Note: This course requires students to work an average of 1.5 (or what is shown in the current catalog) hours per week in hands-on, lab activity. Students are responsible for completing all lab work outside of the classroom. While you may choose to do this lab work someplace other than the College, Metro provides computer labs for students who do not have the required resources or facilities available to them. Assignments will be C++ programs, for the student to work on either at home or in one of the computer labs. Programs are vital to achieving the course objectives. Students will write C++ programs based on material learned over the chapters in the textbook. Typical program submittals must include design/ format/layout documentation for all program input and output, a hierarchy diagram (where appropriate), a flowchart (or pseudocode), printed source code, printed output, and, on a 3.5” floppy diskette or other submittable medium, the compiled program and all data files needed for testing program execution. (See below for evaluation criteria.) Metro Community College Page 3 of 8 Revised: May-03, 1/3/2005 ATTENDANCE STATEMENT: Attendance is necessary to understand the course material. Therefore, it is important to be in class when the assignments are given out. Excessive absences or unsatisfactory progress will subject the student to administrative withdrawal from the course. If a student should miss a class for any reason, he/she is expected to cover the material missed on his/her own. All work must be made up to the satisfaction of the instructor. CLASSROOM POLICY Students are NOT permitted to browse the Internet, read email, or otherwise use the computer during lecture time -unless the instructor directs you to access the computer. Using the computer during lecture is distracting to both the instructor and students who are actively listening. Ignoring this policy will result in lowering your attendance and participation grade. LISTSERV Each student is required to join the Listserv for this class. (An email account is required in order to subscribe.) If you do not have your own private email service at home or work, you may obtain a free email account here at Metropolitan Community College. The instructor will provide further details regarding this Listserv in class. STUDENT WITHDRAWAL: If you cannot attend and complete this course, you should officially withdraw by calling Central Registration, 457-5231. Failure to officially withdraw will result in either an instructor withdraw (IW) or failing (F) grade. The last date to withdraw is identified on the second page of this syllabus handout. ACADEMIC HONESTY STATEMENT: Students are reminded that materials they may use as sources for this course may be subject to copyright protection. Additional information about copyright is provided on the library webpage at http://www.mccneb.edu/library, by your instructor, or by the College's Copyright Officer. In response to incidents of student dishonesty (cheating, plagiarism, etc.), the College imposes specific actions that may include receiving a failing grade on a test, failure in the course, suspension from the College, or dismissal from the College. The disciplinary procedures are available in the Counseling/Advising Centers. Please note: ANY sharing or transfer of assigned work or test contents or answers between a student and any other person or party; in part or in whole; whether by disk exchange, E-mail, manual transcription, codevelopment of an assignment, or any other means; unless authorized by the instructor in advance in accordance with the guidelines in the following paragraph; will be considered academic misconduct and be sanctioned with disciplinary action in accordance with the above paragraph. Both originating and receiving parties will be liable to such sanction. Sharing of class notes and handouts is authorized. Obtaining assistance from others (including tutors or lab techs) for specific programming issues or debugging is authorized. However, no further collaboration is authorized for any standard assignment. Students wishing to collaborate further must Metro Community College Page 4 of 8 Revised: May-03, 1/3/2005 contact the instructor for special assignments. Such special assignments must clearly identify in advance which portions are the responsibility of each individual student wishing to collaborate. The learning objectives, level of difficulty, and typical work involved for each portion must be comparable to that for a single student working alone on the corresponding standard assignment. Each portion will be graded individually. Each portion must clearly represent the competency of the individual responsible for it, and only that individual. The instructor reserves the right to refuse any request for special assignments. Indications of unauthorized collaboration and/or intent to defraud include, but are not restricted to, assignments, submitted by students (not necessarily from the same section) individually under each of their respective names; but which are essentially identical; are essentially identical except for mechanical changes such as differing variable or module names; are essentially identical except for differing comments; or exhibit essentially identical idiosyncratic features such as errors in syntax, style, logic, output formatting, or spelling. The same criteria apply to submissions, by one or more students, where those submissions bear indications of copying from any other unauthorized source. Authorized sources are the student textbook for the class, lecture notes, class handouts, and compiler/interpreter documentation and help materials. In summary, if you want a grade attached to your name and only your name (the only way I know MCC records grades), the work you submit must be your work and only your work. USE OF STUDENT WORK The ownership of student works submitted in fulfillment of classroom requirements shall remain with the student(s): By enrolling in classes offered by Metropolitan Community College, the student gives the College license to mark on, modify, and retain the work as may be required by the process of instruction, as described in the course syllabus. The institution shall not have the right to use the work in any other manner without the written consent of the student(s). Please note: Nothing in the preceding paragraph overrides the restrictions on sharing or distribution of solutions to assignments and tests discussed above under the Academic Honesty Statement. ASSESSMENT OF STUDENT LEARNING PROGRAM Metropolitan Community College is committed to continuous improvement of teaching and learning. You may be asked to help us to accomplish this objective. For example, you may be asked to respond to surveys or questionnaires. In other cases, tests or assignments you are required to do for this course may be shared with faculty and used for assessment purposes. This will be done in accordance with FERPA guidelines. TECHNOLOGY RESOURCES: By using the information technology systems at MCC(including the computer systems and phones) you acknowledge and consent to the conditions of use as set forth in the Metropolitan Community College Procedures Memorandum on Acceptable Use of Information Technology and Resources. It is your responsibility as a student to be familiar with these procedures. The full text of the Procedures Memorandum may be found at the following website: http://www.mccneb.edu/itprocedures.htm Metro Community College Page 5 of 8 Revised: May-03, 1/3/2005 USE OF COLLEGE COMPUTERS When you use computers in College computer labs, learning centers, libraries and many classrooms, you will need to login using your student username and password. Your username is the same as your WebAdvisor username and your initial password is your student ID with leading zeros to make it seven digits. If you need assistance, please contact staff at any of the computer labs, learning centers and libraries; your instructor may also be able to help. It is recommended that students save their files to removable media often as they work. The College reserves the right to take steps necessary to maintain the confidentiality of student identity information through the use of automatic logouts and screensavers. EDUCATIONAL SERVICES PROGRAM AREA IDENTIFICATION: Program Area: Computer Technology and Visual Arts Dean: Tom Pensabene Academic Dean’s office phone: 457-2660 SECTION IV: INSTRUCTOR RESPONSIBILITIES METHODS OF INSTRUCTION: In each lecture during this course, the instructor will cover material the student needs to learn and accomplish. In addition, written handouts will be provided from time to time. These will be used to supplement the text material and expand the course. Instruction will consist mainly of lecture material presented by the instructor. In some classes, group discussion and demonstration will be utilized. In all meetings, discussion opportunities will be provided and the student is encouraged to ask questions and clarify information as the instructor is lecturing and/or presenting material. METHODS OF ASSESSING STUDENT PROGRESS: Programming assignments will be evaluated on the adequacy of program planning; correctness of coding generated; usage of comments to describe and clarify program logic, variable usage, and input/output requirements; adequacy of program testing procedures; and adequacy of program documentation. Of course, the program should also run correctly. Full points are awarded for the inclusion of the specified item(s), with points being deducted for notable problems. A typical point assignment for these various aspects of programming for a 40 point program is as follows: 1 input layout(s) 1 printer/output layout(s) 1 hierarchy diagram 4 flowchart or pseudocode Usage of comments in program: 2 general description of the program 2 misc. input/output requirements 2 purpose & use of each variable (variable table) 2 program logic (for each function/module) Metro Community College 3 standard coding style & related issues 3 correct procedural logic/method 3 correct compile 16 correct run --------40 total Page 6 of 8 Revised: May-03, 1/3/2005 The written exams may be a combination of fill-in the blanks, multiple choice, true/false, and essay questions. The exams will test material presented in the lab and during lecture. CRITERIA FOR DETERMINING FINAL COURSE GRADE: Grading Scale Letter Grade Percent Range A 90–100 B 80-89 C 70-79 D 60-69 F 0-59 Activity Course Requirements Frequency Written Homework Programs Exams Final Exam Final Project 10 1 1 Weight of Grade 50% 25% 25% MAKE-UP TEST PROCEDURES: Students MUST be present on the day of an announced test. If the instructor is informed BEFORE the test concerning a valid absence, other arrangements MAY be made. There will be no retakes of tests. Test dates are not firm and are therefore subject to change. LATE ASSIGNMENTS: Assignments turned in late MAY lose 10% per week. Late assignments MAY not be accepted after two weeks overdue. Please contact instructor regarding the circumstances of any late work. MAINTENANCE OF STUDENT RECORDS: The homework/lab assignments and exams will be returned in class one week after they are turned in to the instructor. Grades will be reflected on the returned items. Students may obtain their current cumulative grade from the instructor before or after class. The exams will be reviewed in class but retained by the instructor. You may view your student record via MCC's web site. To view your records, go to http://www.mccneb.edu on the Internet, then click on the Online Services link. Then click on the GO button next to the text "Email account and access to records request". Metro Community College Page 7 of 8 Revised: May-03, 1/3/2005 SECTION V: SCHEDULE OF ASSIGNMENTS: Week -112/2/2004 12/7 -212/9 12/14 -312/16 12/21 -41/4/2005 1/6 -51/11 1/13 -61/18 1/20 -71/25 1/27 -82/1 2/3 -92/8 2/10 - 10 2/15 2/17 - 11 2/22 2/24 SUBJECT AND HOMEWORK HANDOUT Overview of Class Review Syllabus Overview of Computers & Programming Languages Overview of numbering systems Basic Elements of C++ READING ASSIGNMENT Chapter 1 Pp. 1–18 Input & Output Chapter 3 Pp. 95–137 P2 Control Structures (Selection) Chapter 4 Pp. 145–194 P3 Control Structures (Repetition) Chapter 5 Pp. 203–254 P4 Number Systems Handout Chapter 2 Pp. 23–82 ASSIGNMENTS DUE P1 P5 Mid-term exams User-Defined Functions Chapter 6 Pp. 269–294 P6 User-Defined Functions (Continued) Chapter 7 Pp. 305–360 P7 User-Defined Simple Data Types, Namespaces, and string Type Arrays and Strings Chapter 8 Pp. 373–415 P8 Chapter 9 Pp. 423–483 Pointers Handout P9 Pointers Final Exams P10 The schedule of assignments is subject to change by the instructor. In the event the College closes classes for any reason, the dates of the scheduled activities will be followed as outlined above. Metro Community College Page 8 of 8 Revised: May-03, 1/3/2005