COMSC 101 – Computer Programming 1 Spring 2015 Ref. #: 11010 Course: Computer Programming 1 Hours: Tue & Thu in T25D from 6:00pm to 7:50pm (6 study hours per week suggested) Text: Problem Solving, Abstraction and Design Using C++. Friedman & Koffman. Sixth Edition. Addison Wesley. ISBN-13: 9780136079477 Prereqs: College-level mathematics and reading skills as determined by placement test or previous college-level courses. Professor: Dr. Amy Fox Division Phone: (914) 606-6787 Email: amy.fox@sunywcc.edu Website: http://www.docfox.weebly.com (all course material and contact information) Course Description: This is the first course in the Computer Science curriculum; it is designed to introduce the student to computer programming. A major part of this course is the design and implementation of programs to be run using the C++ programming language. Course Objectives: 1. To begin the study of computer science through the introduction of hardware, software and related computer technology. 2. To understand the fundamentals of programming technique: the analysis, design and implementation of solutions to computer oriented problems and provide the student with these techniques and other problem solving tools. 3. To gain a comprehension of today's personal computers; specifically Intel microprocessor based PCs operating under Microsoft Windows. 4. The student will learn how to use listings and debugging aids to solve problems. These debugging aids will include a syntax and logical error-checking environment. This knowledge will be measured by quizzes and classroom participation. 5. The student will learn how to define, analyze and solve problems and test problem solutions. COMSC 101 – Computer Programming 1 Spring 2015 Course Work: Homework: When homework is to be graded, it will be collected at the beginning of the class session after attendance. Programming: For each programming assignment, a printed copy of the following items must be handed in on or before the due date: a high level design of the assignment in the form of an SDM and a fully executable copy of the assignments (well documented) source code. The SDM will outline the program and each function in the program. This includes a description of what the function is designed to accomplish, the precondition and postcondition of the function, the parameters being passed to/from the function and the variable(s) used in the function along with what each variable represents. You will have to show a completed SDM before requesting help with coding problems. Lab Work: Lab work will be assigned each class. The lab assignment must be printed and handed in prior to the end of the class. The lab submission will serve as attendance. Students who do not hand in labs each class session will be marked absence. Projects: Projects may be assigned throughout the semester and will be graded as a programming assignment. Particulars of individual projects will be discussed when they are assigned. Policies of the Instructor and College: Attendance: College absenteeism policy will be enforced and may lead to course failure. Class Session: There will be a 5 to 10 minute assignment review at the start of every lecture/lab period. It is your responsibility to have read the appropriate text material prior to class discussion. Session Dismissal: There are a number of ways to get asked to leave the currently running class session: a) Having your mobile phone on; b) Wearing headphones; c) Not paying attention to lectures; d) Using the lab computers in an inappropriate way (using them for something other than the current courses work or during a lecture). I have more. Communication: For the most part, communications between the students and the instructor should take place in the classroom or in an appropriate BlackBoard discussion forum. Communications between students should also take place in the website discussion forums. If you cannot access BlackBoard, please tell me in class or contact me via WCC email (noted above). My office phone number is provided above in case both BlackBoard and the WCC email systems are not available. Also included is the phone number for the Technology Building Division office where messages can be left. COMSC 101 – Computer Programming 1 Spring 2015 Academic Honesty: It is very important that any work that you submit for grading must be your own. The programming assignments and homework must be written by you. You are allowed to help each other with the programming assignments using the discussion board, and get help from the tutors if on campus, but the help must not consist of your working together to produce essentially the same program, or having the tutor tell you what to write line by line. If you are not clear about the difference between getting help and cheating by copying another’s work, please talk to me. If it is still not clear you may have to decide to do the work entirely on your own. Similarly, cheating in any way will not be tolerated. Anyone found cheating on quizzes, tests or exams will receive a zero for the instrument. Continued failure to observe these rules will result in failure of the course and possible dismissal from Westchester Community College. Quizzes: A quiz will be given at the start of class on Thursdays each week (starting the first week), that covers any course reading, lecture or lab material to date. Most quizzes are open notes and book, and will be 15-20 minutes in duration. Each student’s lowest quiz grade for the semester will be dropped. Makeup quizzes will not be given without an acceptable documented excuse. Programs: There will be a programming assignment due every other week. Each program is due the last meeting period two weeks after it was assigned; see assignment schedule listed on the next page. Exams: There will be three exams given during the semester; 2 exams and a final. The exams will cover material based on lectures, labs, textbook readings and programming assignments. Makeup exams will not be given without an acceptable documented excuse. Grading: Quizzes are 30 points each; Programs are 50 points each; Exams are 100 points each; Final is 100 points. Grading is on a summative point scale. It is at the instructor’s discretion to provide extra credit work to the class or an individual student. Final Exemption: Students that receive a grade >= 90 on every quiz, exam and programming assignment and have submitted all lab assignments will be exempt from the course final exam. COMSC 101 – Computer Programming 1 Class Sessions: Review Break Spring 2015 5 minutes at start of class session 10 minutes at 6:50pm Class Outline: Week 1 Chapter 1, App.A Description Computer Systems, Numbering Systems & Integrated Development Environments 2 1 Object Oriented Programming Concepts 2-4 2, App.B C++ Overview, Data Types, Identifiers & Expressions 5-7 3, 6 Functions, Classes and Scope (class, function and variable) 8 4 Control Structures 9-11 5 Loop Structures 12 8 Streams and File Processing 13-15 9 Array Processing Quiz & Exam Schedule: Quizzes: Exam 1: Exam 2: Final: 09/04 09/11 09/18 09/25 10/02 10/07 10/09 10/16 10/23 10/30 11/06 11/11 11/13 11/20 11/27 12/04 12/11 12/16 Will be given every week at the start of the last class session of the week. Covering first 5 weeks of material; given on the first class session of week 6. Covering second 5 weeks of material; given on the first class session of week 11. Covering all course material; date and time may change. Quiz #1 Quiz #2, Programming Assignment 1 Quiz #3 Quiz #4, Programming Assignment 2 Quiz #5 Exam 1 Quiz #6, Programming Assignment 3 Quiz #7 Quiz #8, Programming Assignment 4 Quiz #9 Quiz #10, Programming Assignment 5 Exam 2 Quiz #11 Quiz #12, Programming Assignment 6 Thanksgiving Holiday – No Class Quiz #13, Programming Assignment 7 Final Review Final Exam, Programming Assignment 8 COMSC 101 – Computer Programming 1 Spring 2015 COURSE OBJECTIVES FROM OFFICIAL SUNY SYLLABUS FORM: List the course’s learning objectives and describe how each objective/outcome will be measured. Objective - Upon successful completion, the student will be able to: describe briefly the software engineering process describe the standard object types use variables and constants in a program choose the appropriate object types for a particular problem use different object types in a program evaluate arithmetic expressions write arithmetic expressions to solve a given problem write simple I/O in a program explain the meaning of a class and an object use a the string class in a program (other classes may be used as well, at the instructor’s discretion) analyze a decision structure, both single and double alternative choose and implement the appropriate decision structure for a problem analyze the different looping structures choose and implement the appropriate looping structure for a problem analyze the behavior of a given method write a method to accomplish a given task This outcome will be measured by one or more of the following: Written assignment Verbal questions Written demonstration of the software engineering process for a simple problem Examination question Written assignment Verbal question Programming assignment Laboratory problem Programming assignment Laboratory problem Written assignment Examination question Written assignment Examination question Written assignment Examination question Written assignment Programming assignment Laboratory problem Programming assignment Laboratory problem Examination question Written assignment Examination question Written assignment Verbal question Programming assignment Laboratory problem Examination question Written assignment Walkthrough problem Walkthrough problem Examination question Written assignment Programming assignment Laboratory problem Examination question Written assignment Walkthrough problem Examination question Written assignment Programming assignment Laboratory problem Examination question Written assignment Walkthrough problem Examination question Written assignment Programming assignment Laboratory problem Examination question Written assignment COMSC 101 – Computer Programming 1 Objective - Upon successful completion, the student will be able to: analyze and write methods with value parameters analyze code including an array implement a list of elements as an array write code to input and output an array write code to do simple sequential array processing Spring 2015 This outcome will be measured by one or more of the following: Walkthrough problem Examination question Written assignment Walkthrough problem Examination question Written assignment Programming assignment Laboratory problem Examination question Written assignment Programming assignment Laboratory problem Examination question Written assignment Programming assignment Laboratory problem Examination question Written assignment Notes: (i) “Written assignment” refers to problems chosen from the exercises in the text book, or other similar short answer problems assigned as classwork or homework, or an assignment requiring a longer (possibly a paragraph or more) written answer. (ii) “Walkthrough assignment” refers to a problem where the student is given code and is required to show the values of all the variables and the output as the code is executed.