COMP 142
Computer Science II: Object-Oriented Programming
(CRN 25280, Spring 2015)

Announcements


  • Instructions for compiling and running C++ programs on your computer.
  • You can download Python for Windows, Mac, or older Macs (OSX 10.5 or older) from these links.
  • Computer Science tutoring is offered on Sunday, Monday, Tuesday, Wednesday and Thursday evenings from 7-9pm in Barret 035.
  • The first lecture will be held on Wednesday, January 14, 2015.
  •  

    Course Description


    An introduction to the fundamental concepts and practices of object-oriented programming. The object-oriented programming paradigm is introduced, with a focus on the definition and use of classes as a basis for fundamental object-oriented program design. Other topics include an overview of programming language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues.

    The syllabus for this course can be found at http://cs.rhodes.edu/welshc/COMP142_S15/syllabus.pdf.

    Book, Course Information, and Prerequisites


    Reed and Zelle Book

    Textbook: Data Structures and Algorithms Using Python and C++
    by David M. Reed and John Zelle, Franklin, Beedle & Associates, Incorporated © 2009
    ISBN: 9781590282335.
    Location: Barret Library 035
    Time: MWF 1:00-1:50PM
    URL: http://cs.rhodes.edu/welshc/COMP142_S15/
    Prerequisite: This course assumes successful completion of CS141 (a grade of C- or better) or significant programming experience. Please come see me if you have not had CS141.


    Course Instructor


    Instructor: Catie Welsh
    Office: Ohlendorf 422
    Email: welshc@rhodes.edu (please include “CS 142" somewhere in the subject)
    Office Hours: Tues/Thurs 2-4pm or by appointment - Ohlendorf 422







    Schedule


    This is a tentative schedule and subject to change as needed.

    Date Lecture Topic(s) Reading Assignment Homework
    W-January 14 Intro, Python review slides   First Day Survey - due Friday (in class)
    F-January 16 Abstraction & Analysis slides Chapter 1 Program 1 - due 1/27 by 11:55pm
    M-January 19 Holiday- No Class
    W-January 21 More Analysis slides Chapter 2  
    F-January 23 ADTs & Objects slides Chapter 2  
    M-January 26 More Objects slides  In-Class Activity    
    W-January 28 Inheritance slides    
    F-January 30 Inheritance II slides   Program 2 - due 2/10 by 11:55pm
    M-February 2 Inheritance & Polymorphism slides  In-Class Activity    
    W-February 4 Inheritance & Polymorphism Wrap-Up    
    F-February 6 Python Memory Model slides Section 3.5, 4.1-4.3
    M-February 9 Finish Memory Model, Linked Lists slides Sections 4.4-4.5  
    W-February 11 Stacks & Queues slides Section 5.1-5.4 Program 3 - due 2/18 2/23 by 11:55pm
    F-February 13 Recursion slides Sections 6.1-6.3
    M-February 16 Snow Day
    W-February 18 Recursion II slides  
    F-February 20 Analyzing Recursion slides In-Class Activity Section 6.4  
    M-February 23 Review  
    W-February 25 Midterm 1 - NEW DATE
    F-February 27 C++ Intro slides Sections 8.1-8.7 Program 4 - due 3/17 by 11:55pm
    M-March 2 More C++ (If/Else, Loops, Typecasting) slides Section 8.8-8.10  
    W-March 4 Data Types and Functions Section 8.12-8.17  
    F-March 6 Snow Day
    M-March 9 Spring Break - No Class
    W- March 11 Spring Break - No Class
    F-March 13 Spring Break - No Class
    M-March 16 More Data Types and Functions
    In-Class Activity
    Section 8.12-8.17  
    W-March 18 Arrays Section 8.11  
    F-March 20 2-D Arrays, Vectors Vector Handout Section 12.3.1 Program 5 - due 3/26 by 11:55pm
    M-March 23 More Vectors, Pass by value, pass by reference In-Class Activity Re-Read Section 8.12  
    W-March 25 Strings & Structs
    In-Class Activity
    Section 9.2 (Strings), Structs not in book  
    F-March 27 File reading Section 9.3  
    M-March 30 Pointers slides Section 10.2 Program 6 - due 4/6 4/9 by 11:55pm
    W-April 1 Pointers II slides Take-Home Quiz
    F-April 3 Holiday- No Class
    M-April 6 Pointer wrap-up, Review    
    W-April 8 Midterm 2
    F-April 10 Dynamic Memory slides Section 10.3-10.6 Program 7 - due 4/19 by 11:55pm
    M-April 13 MyVector Lab  
    W-April 15 Objects/Classes in C++ Section 9.1  
    F-April 17 Classes: Destructors, Operator Overloading slides Section 10.2, 9.4  
    M-April 20 Inheritance/Polymorphism slides   In-Class Exercise Program 8 - due 4/30 by 11:55pm
    W-April 22 Inheritance/Polymorphism Wrapup slides  
    F-April 24 Linked Lists in C++ Chapter 11  
    M-April 27 Recursion Review Recursion Review Worksheet    
    W-April 29 Wrap-up & Evals slides  
    Mon-May 4 Final Exam, Time: 1-3:30pm, Location: FJ-B