COMP 201 Computer Science II Syllabus Spring 2013 Instructor: Michael Werner, Ph.D. DOBBS 006D 617-989-4143 wernerm@wit.edu Department Office: DOBBS 006 617-989-4272 Course Home Page: http://myweb.wit.edu/wernerm/comp201.html Professor's Home Page: http://www.ProfessorWerner.com Office Hours: Tuesday at 3:00 Monday and Friday at 2:00 Also by appointment Attendance Policy: Regular attendance at every class is expected, and anyone who fails to meet this requirement may be requested to withdraw from Wentworth. In addition students with poor attendance may be withdrawn from the class with a grade of "WA". The attendance policies are more fully explained in the Wentworth Catalogue. You are responsible for all material given in class as well as in assigned readings. Assignments/Submitted Work/Late Work There will be 11 – 13 laboratory assignments, usually with one week to do them. Labs are graded as follows: Analysis Design Correctness Programming style Identify requirements (usually outputs), inputs and processing Include a correct chart as specified. Your code must conform to the chart. Include test runs verifying that the program produces correct outputs Is the code straight-forward, terse, readable, properly indented? Points 2 2 4 2 Late lab submissions lose 2 points for each week (or part) late. Labs submitted more than 3 weeks late are graded 0. If a lab is incorrect it will be returned on blackboard with instructions to fix. The fixed lab may be resubmitted within 1 week with no loss of credit. If the lab is not fixed points will be deducted for errors. COMP201 Computer Science II Course description Revised: 3/14/2016 Grading and Student Evaluation System Grades will be determined approximately as follows: Lab Assignments 35% Quizzes 40% Final Exam 25% A. Course Information COMP 201 Computer Science II Professor Michael Werner Semester Hours: Programs Used in: Prerequisite: Prerequisite For: Lab Facilities Needed: 3 Hours Recitation /2 Hours Laboratory/ 4 Total Credits BCOS, BCNS COMP128 Computer Science I COMP285 Computers equipped with C++ and Java development environments. Hongsheng Wu Course Coordinator B. Catalog Description: A continuation of Computer Science I. Topics include strings, structs, arrays and linked lists, as well as text and binary files, recursion and dynamic allocation. C. Textbook/Reference/Other Material Required: Problem Solving with C++, 8/e, Savitch ©2012 | Addison-Wesley | ISBN-10: 0132162733 | ISBN-13: 9780132162739 Reference: Ivor Horton's Beginning Visual C++ 2008 ISBN: 978-0-470-22590-5. This book is also available through the library as an e-book. D. Topics - Course Schedule Week Lecture Topic 1 Introduction, review 2 Arrays including 2-D arrays Reading Chapters 1 – 7 Chapter 7 3 4 5 6 7 8 8.1 - 8.2 8.3 Chapter 9 Chapter 10 Chapters 10,11 C-Strings and C++-Strings Vectors Pointers and dynamic arrays Defining Classes Encapsulation, operator overloading Spring Break COMP201 Computer Science II Course description Revised: 3/14/2016 Week Lecture Topic 9 Memory management - Assignment operator, copy constructor, destructor 10 Linked lists 11 Recursion 12 Inheritance, UML 13 Polymorphism 14 Exception handling (if time permits) 15 Review for Final Exam Final Exam Reading 11.2 - 11.4 Chapter 13 Chapter 14 15.1 - 15.2 15.3 Chapter 16 E. Course Goals and Learning Objectives The student will gain proficiency in designing a number of object-oriented classes, which together provide a solution to a programming problem. The student will implement her class design using C++ constructs including encapsulation, inheritance, pointers and arrays, recursion, streams and operator overloading. Topic Arrays Strings Vectors Defining Classes Pointers and Dynamic Arrays Linked Lists Recursion Inheritance and Polymorphism Learning Objective Handle 1-D and 2-D arrays Handle C-String and C++-Strings Use library template vector classes Define classes and member functions including operator overloads Define container classes using dynamic arrays. Handle memory correctly using destructor, copy constructor and operator= overload. Define List and Node classes and code standard list operations Define recursive functions. Rewrite recursive functions using iteration and vice-versa. Define base and subclasses. Handle virtual and pure virtual functions. Demonstrate polymorphism. Goal 90% 85% 85% 80% 80% 80% 75% 75% F. Assessment Plan - Correlating selected outcomes to topics and assessment measures. b Level ABET letter Outcome Topics Measures (weeks) An ability to analyze a U 1-15 problem, and identify and define the computing requirements appropriate to its 1) Submission of input/process/output summary for all labs 2) Test questions given in words requiring students to determine the COMP201 Computer Science II Course description Revised: 3/14/2016 c i Level ABET letter Outcome Topics Measures (weeks) solution. An ability to design, U 1-15 implement and evaluate a computer-based system, process, component, or program to meet desired needs. An ability to use current U 1-15 techniques, skills, and tools necessary for computing practice. k An ability to apply design and U 1-15 [CS] development principles in the construction of software systems of varying complexity. input/process/output of a problem. 1) Submission of either annotated structure chart or UML class diagram for all labs 2) Test questions requiring design diagrams as part of the answer. 1) Labs requiring use of interactive development environments such as Visual Studio. Students demonstrate facility with the tool in their lab submission. 2) Lab submissions where part of the grade depends on the use of current computing practices such as well structured, clear code. 1) Labs requiring students to produce scalable solutions using current techniques including objectorientation. For a computer science program G. Estimate Curriculum Category Content (Semester hours) Area Core Advanced Area Core Algorithms 1.0 Data Structures Software 1.0 Programming 0.5 Design Languages Comp. Arch. 0.5 Advanced H. ACADEMIC HONESTY STATEMENT: “Students at Wentworth are expected to be honest and forthright in their academic endeavors. Academic dishonesty includes cheating, inventing false information or citations, plagiarism, tampering with computers, destroying other people’s studio property, or academic misconduct” (Academic Catalog). See your catalogue for a full explanation. I. STUDENT ACCOUNTABILITY STATEMENT: Evidence of cheating or plagiarism on an assignment will result in a failing grade on the assignment. COMP201 Computer Science II Course description Revised: 3/14/2016 A second offense will result in a failing grade in the course, followed by a report of such to the Provost’s office. J. DISABILITY SERVICES STATEMENT: Any student who thinks s/he may require a disability-related accommodation for this course should contact me privately to discuss your specific needs. Disability Services coordinates reasonable accommodations for students with documented disabilities. They are located in Watson Hall 003 (the Counseling Center) and can be contacted at 617-9894390 or counseling@wit.edu. For more information on acceptable documentation and the Disability Services process, visit the Disability Services website at www.wit.edu/disabilityservices COMP201 Computer Science II Course description Revised: 3/14/2016