CS142 Introduction to Computer Science II - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

CS142 Introduction to Computer Science II

Description:

If time permits, inheritance, polymorphism, trees and binary search trees. Grading Policy ... from Wikipedia. Reading Assignment ... – PowerPoint PPT presentation

Number of Views:63
Avg rating:3.0/5.0
Slides: 17
Provided by: janicets
Category:

less

Transcript and Presenter's Notes

Title: CS142 Introduction to Computer Science II


1
CS142Introduction toComputer Science II
  • Spring 2008
  • Prof. Searleman
  • jets_at_clarkson.edu

2
CS142
  • Objectives of this course
  • Administrivia
  • Overview of Object-Oriented Design

3
Course Objectives
  • To teach you principles and techniques
    fundamental to the design and development of
    computer software. These include data
    abstraction, object-oriented design, elementary
    data structures and algorithms, analysis of
    algorithms, and recursion.
  • To further develop your coding, documentation,
    debugging and testing skills.
  • To learn more about modern C programming
    practices and the STL.

4
Demonstrable Outcomes(by the end of the semester)
  • You will have a good understanding of the
    principles and techniques fundamental to the
    design and development of computer software
    mentioned (as mentioned in Objective 1).
  • You will be able to use them in the design and
    implementation of C programs of a moderate
    size.
  • You will be able to implement elementary data
    structures including vectors, linked lists,
    stacks and queues.

5
Demonstrable Outcomes(by the end of the semester)
  • You will understand the importance of using
    standard software components and will be familiar
    with the basic data structures and algorithms
    provided in the C Standard Template Library.
  • You will be able to analyze the running time of
    simple algorithms.
  • You will be able to implement simple recursive
    algorithms.
  • You will be able to implement and analyze basic
    algorithms for searching, sorting and, if time
    permits, tree traversal.

6
Administrivia
  • course webpage
  • http//www.clarkson.edu/jets/cs142/sp08
  • contact info
  • office SC375 (also VR Lab, SC336 or ITL, SC334)
  • phone 268-2377,
  • email jets_at_clarkson.edu,
  • IM jetsza
  • TA Hai Lin

7
Textbook other readings
  • Objects, Abstraction, Data Structures and Design
    using C
  • by Elliot Koffman and Paul Wolfgang, John Wiley
    and Sons, 2006, ISBN 0-471-46755-3 (also ISBN 13
    978-0-471-46755-7).
  • Course Notes by Alexis Maciel

8
Other Resources
  • C FAQs, 2nd Edition
  • by Marshall Cline, Greg Lomov and Mike Girou,
    Addison-Wesley, 1999, ISBN 0-201-30983-1.
  • on-line lite version

9
Topics to be covered
  • Data abstraction, classes, object-oriented
    design, exceptions, linked lists, vectors,
    stacks, queues, iterators, templates, the STL,
    analysis of algorithms, recursion, binary search,
    quicksort, mergesort, sound programming
    principles. If time permits, inheritance,
    polymorphism, trees and binary search trees.

10
Grading Policy
  • Your evaluation will be based on several homework
    assignments (A), which will be mostly programming
    assignments, two tests (T), two test corrections
    (C), one for each test, a final exam (F), and
    your lab attendance (L). Your course grade will
    be computed using the following formula
  • 21 A 23 T1 2 C1 23 T2 2 C2 24 F
    5 L
  • The lab grade (L) will be based on your
    attendance of the labs, your performance on the
    assignments, and whether you hand in your
    assignments early. Details will be given in the
    Assignment Policy.

11
Assignment Policy
  • Written homework and programming assignments are
    expected to be individual efforts, unless
    specifically stated otherwise.
  • Assignments are due at the beginning of class on
    the given due date.
  • Labs. Most assignments will be associated with a
    Monday lab and each lab will be "graded". If you
    attend the lab and seriously work on your
    assignment while there, you will earn a lab grade
    equal to the grade you earn on that assignment.
    You can also earn the same lab grade by handing
    in your assignment early, usually at the
    beginning of class on Tuesday.

12
Assignment Policy (cont.)
  • Late programs will be accepted up to one week
    late, but there will be a 15 reduction in grade.
    After one week, a grade of zero will be recorded
    for the assignment. You are strongly urged to
    see the instructor before any problems arise.
  • You are encouraged to learn from each other and
    to help each other understand the concepts, but
    be ethical --- do not copy or edit a program
    which isn't yours or allow another student to
    write or debug your program for you.

13
Object-Oriented Programming
  • key idea dynamic objects interact by sending
    messages to each other how something is done
    depends on who is asked to do it
  • OOP languages Simula, Smalltalk, C,
    Lisp/Scheme, Java, C, etc.

14
Example drawing program
  • Standard engineering design
  • vs.
  • Object-Oriented design

15
Dots Boxes Game
  • two players A B
  • each takes a turn drawing a line on a grid of
    dots
  • if that line completes a box, the player writes
    the letter in the box and gets another turn
  • game play continues until no more lines can be
    added
  • the player with the most boxes wins

from Wikipedia
16
Reading Assignment
  • skim Koffman Wolfgangs Chapter P C Primer
    for a review of C
  • Read KW Chapter 1 Introduction to Software
    Design
  • Read Chapter 1 of Maciels notes
Write a Comment
User Comments (0)
About PowerShow.com