SYLLABUS 16 January 2015 Number and Title of Course: CMPS1063– Computer Science II Catalog Description of Course: A continuation of the development of a disciplined approach to the design, coding, debugging, and testing of programs. Introduction to data structures, abstract data types (ADT), recursion, and algorithm analysis using a high-level language. Instructor: Office: Phone: E-Mail: Web pages: Dr. Catherine Stringfellow Bolin Science Hall BO 128C (Come in through BO126) 397-4578 catherine.stringfellow@mwsu.edu http://cs.mwsu.edu/~stringfe, http://cs.mwsu.edu/~stringfe/courseinfo/pagesindex.htm Office Hours: MWF 10-11:30am, TR 9:30-11:30am, MW 2:00-3:30pm , R 3:30-4:30pm & by appt More Description: This course, although continuing to introduce features of the C++ programming language, develops the student’s ability to design and implement well-structured and correct programs using the objectoriented paradigm. The course introduces elementary data structures (lists, linked lists, stacks, queues and trees) with emphasis on their implementation using arrays and pointers and recursive algorithms. The concepts of encapsulation and information hiding in object oriented programming will be studied. Course Prerequisite: Minimum grades of C in CMPS 1044 and MATH 1233 or MATH 1534. Required Textbook and Materials: a. Starting out with C++ Early Objects, 8th edition, by Gaddis, Walters and Muganda b. Supplementary material and lecture notes. c. 2 USB memory stick General Objectives 1) Further develop the student's ability to analyze problems and translate that analysis into a computer program using proper software engineering techniques; 2) introduce a mathematically based analysis of algorithms; 3) develop an understanding and appreciation of recursion as a basic style of programming; 4) introduce and analyze algorithms for internal sorting and searching; 5) introduce and analyze the important data structures of computer science as well as various ways of implementing them; 6) develop the ability of students to solve large, complex problems. Specific Objectives 1) develop solutions to programming problems using objects and the C++ language 2) use and analyze searching, sorting and recursive algorithms 3) implement the data structures: lists, stacks, and queues to solve problems 5) understand the software engineering methodology and be able to apply it to solving large complex problems Instructional Methods and Techniques 1) The class will meet for three one-hour lecture/discussion periods each week. 2) Some lectures may be supplemented with handouts and web materials to allow students access to information. Assignments 1) Three exams and a comprehensive Final Exam over the lectures and readings. 2) Homework, quizzes and mandatory in-class work on material discussed in class. 3) Programming assignments Exams and Assignments: There will be three tests and one comprehensive final exam. Exams cover material from the text as well as handouts. The lectures may not cover all the material in the textbooks. There will be several major programming projects as well as a few small assignments. The projects will be expected to be complete and robust, including good user interfaces and the ability to handle improper input. Industry level internal and external documentation will also be expected. Course Evaluation: Programming projects Homework assignments / quizzes / in class work 3 tests 1 FINAL EXAM = 450 pts. = 100 pts. = 300 pts. = 150 pts. Grades may be determined according to this scale (approximate): A 90% - 100% B 80% - 89% C 65% - 79% D 55% - 64% Attendance: Class attendance is the responsibility of the student, and it is the student's responsibility to independently cover any material s/he may miss. Class attendance and participation may also be used in determining grades. Late Assignments and Makeup Exams: See my web page for my policy on late assignments. Makeup exams will be given only if the instructor is notified IN ADVANCE of the exam with a legitimate reason for missing the exam. Honor Policy: Cheating will not be tolerated. Any student caught cheating will be given a zero on the assignment or exam. Repeat offenders will be given an F for the course and may suffer expulsion from the university. All work must be your own. You may discuss the material in the course and help one another, however, I expect any work you hand in for a grade to be your own. Plagiarism will result in, at best, an "F" for the assignment. A simple way to avoid inadvertent plagiarism is to talk about the assignments, but don’t read each other’s work or write solutions together. Keep scratch paper and old versions of assignments until after the assignment has been graded and returned to you. If you have any questions about this, please see me immediately. Computer Science Tutoring A tutor may assist with programs and homework for CS classes. He will help, but will not do your work. CMPS 1063 – TENTATIVE SCHEDULE OF TOPICS ______________________________________________________________________________________ Week Chapter Topic Assignment _______________ 1 MLK Introduction e-mail Homework (HW) due 6 Review Functions 2 8 Review Arrays Structs (7.13) Function HW due Program 1 (Array of Structs) 3 7 Abstract Data Types Classes and Objects Array HW due Program 1 Due 4 7 Classes and Objects Program 2 (Classes and Objects) Class-Object HW due 5 In class Assignment Examination 1 (Chpts 6, 7, 8) Searching Arrays 6 9 7 10 Sorting Arrays Program 2 due Searching QZ / Sorting QZ Pointers Pointer HW due Program 3 (Pointers) 8 10 Recursion Recursion QZ ************************************************************************************* Spring Break, March 16 – 21 ************************************************************************************* 9 14 Recursion Recursion HW Due Program 3 Due Program 4 (Recursion) 10 In class Assignment Examination 2 (Chpts. 9, 10, 14) Program 4 due *************************************************************************************** Easter Break, April 1-4 *************************************************************************************** 11 17 Linked Lists Program 5 (Linked Lists) *********************************************************************************** 15th Annual North Texas Student Conference, Saturday, April 18 *********************************************************************************** 12 17 Linked Lists Linked List HW due 13 17 Stacks and Queues Program 5 due Program 6 (Stacks and/or Queues) 14 17 12 Stacks and Queues Strings Stacks HW due Queues HW due 15 In class Assignment Examination 3 (Chpts 17, 12) FINAL REVIEW String QZ Program 6 due 16 FINAL EXAMINATION: Monday, May 11, 8:00-10 a.m.