Jody Paul (Logo) Dr. Jody Paul – EducationMSCD Courses
Computer Science 3    
Link to Home Page for Jody Paul Link to the Education section main page Link to Software Engineering section Link to Music section Link to Recommendations section
    Link to MSCD Courses page        

Course Information

Title: Computer Science 3
Institution: Metropolitan State College of Denver
Course ID: CSI 3050, Section 1
Semester [CRN]: Spring 2006 [33040]
Meeting Times: Mondays and Wednesdays, 1:00 PM - 2:50 PM
Location: SI 111
Credit Hours: 4
Official Info: This course is a continuation of the Computer Science core sequence, emphasizing the concepts of object-oriented software development, data representation and algorithmics.

Students are required to meet with a mathematics or computer science faculty advisor prior to registration for this course. Advisor schedules are available in the Department office, SI 141. This semester, this course will use both Java and C++ to illustrate the Computer Science concepts.

Course Website:
Instructor: Dr. Jody Paul (schedule & office hours)
Office: Science 133C (x68435)
Campus Mail: Campus Box 38

Final Examination

     Date, Time & Location to be determined by AHEC


     Balanced Binary Search Trees

           Java implementation of rebalancing in optimal time and space
           API Javadoc: BST & BTNode
           Assessment Rubric
           JUnit Tests: &

           C++ implementation of rebalancing in optimal time and space
           BTNode struct and procedures: syntax specifications

           Java implementation of AVLSet using AVL to maintain a balanced BST backing the Set: API Javadoc
           Assessment Rubric
               An AVL tree visualization applet is available at

     Graph ADT

           Java implementation of CS3Graph that extends Graph (ADT Javadoc) [updated 12 March 2006]
           JUnit test class:


Tentative Schedule for Spring 2006:
• Week 1

        Review of CS-2 Material
        Overview of CS-3 Objectives & Course Logistics
• Weeks 3–7
        Balanced Binary Search Trees, Graphs, B-Trees, Hashes
        Comparison of Java and C++
        Introduction to Experimental Computer Science
• Week 8
        Midterm Exam
• Weeks 9–15
        Extensive software research & development exercises

Course Description & Objectives:

This course, a continuation of CSI 2050, extends students' knowledge and experience with Object-Oriented Software Engineering, Data Representation and Algorithmics. Additional data structures covered include graphs, balanced binary search trees, B-trees, and hashes. Students will specify, design and implement several software applications of moderate complexity. This semester, both Java and C++ programming languages will be used in this course. Note that this section of CS3 (001) will provide less intense treatment of C++ than will the other section (002) also offered this semester.


Link to text book info at

Objects, Abstraction, Data Structures and Design Using Java Version 5.0
by Elliot Koffman & Paul Wolfgang
John Wiley & Sons, 2004
ISBN 0471692646

Student Companion Website

Buy new or used at
Auraria Campus Bookstore Online

Weiss Textbook - Link to

C++ for Java Programmers
by Mark A. Weiss
Prentice Hall, 2003
ISBN 013919424X

Buy new or used at
Auraria Campus Bookstore Online


Java Development Environments & Documentation:

    emacs (JDEE)

    Java 5.0 API Documentation —— Java 5.0 (J2SE/JDK 5.0)
    Code Conventions for Java (Sun)
    Generics in the Java Programming Language

Java tutorials and overviews:

JUnit information:

CheckStyle information:

Java Applet tutorials:
      Writing Applets (
      Java Applet Tutorial (
      Java Applet Tutorial (

Software Engineering Information:
    Software Engineering Fundamentals
    Volere Requirements Specification Template & Shell

Unix Information:
    Unix Tutorial
    A Basic UNIX Tutorial
    Unix Tutorial
    UNIXHelp for Users
    Mac OS X Unix Tutorial
    MSCD Clem/Unix Account Management

You must have World Wide Web access, an MSCD student e-mail account and computing facilities for developing programs in Java and C++. Note that you receive an e-mail account, Internet/Web access and appropriate computing facilities by virtue of being a student at MSCD (see:


Grading Policy:

You are expected to participate in class discussions and in-class exercises. There are no "make-ups" for missed in-class activities and exercises.

Note that significant information will be disseminated during class sessions or on course web pages that you will be responsible for knowing whether or not you attended the sessions or accessed the website. That is, not all information necessary to successfully complete the assignments or examinations is covered in the textbook.

Your final course grade is determined by first associating a Pass/Fail assessment based on the completion of all required assignments, then combining your scores on exercises, assignments and exams. In order to receive a passing grade (A B C or D), you must successfully complete all required assignments and receive a passing grade on the Final Exam. Your letter grade is guaranteed to be no lower than that computed by the following distribution of total points and weighted average conversion to letter grade:

Homework Assignments & In-Class Exercises = 30%
Midterm Exam = 25%
Final Exam = 45%

Weighted average conversion to letter grade
100-90%: A;  89-80%: B;  79-70%: C;  69-60%: D;  59-0%: F

Any assignment that is not turned in on time will receive a maximum of 50% of the total possible points. Missing the final exam will result in a course grade of F. Missing the midterm exam will result in a midterm exam grade of 0 and a maximum possible course grade of C. Late homework and make-up exams will not be accommodated without prior arrangement and written agreement. Unforeseeable crises and emergency situations will be dealt with on a case-by-case basis in accordance with MSCD, College, and Departmental policies.

The work you turn in must be your own, created by you individually. Collaboration and discussion with fellow students concerning course information, materials, and studying for exams is encouraged. However, to provide fair assessment for grading and maximized benefit from the learning experience, work you turn in must reflect your individual effort. Turning in work that is the result of unauthorized collaboration or copying will be treated as academic dishonesty and an attempt at fraud. All incidents of suspected dishonesty will be reported to the department and the Dean of the College. Consequences may include a grade of 0 on the assignment or exam, a grade of "F" for the course, academic probation, or dismissal from the institution. This is a very serious matter and should not be taken lightly. If you have any uncertainty or concerns, please discuss them with your instructor or advisor.

Official Announcements:

Official policies applicable to all courses:

Also see the MSCD College Catalog at for official announcements, including Academic Policies and Procedures and Student Rights and Responsibilities, and the Academic Calendar at for additional official dates and deadlines, including the last dates to withdraw and receive NC (with and without faculty signatures).

Valid HTML 4.01 Transitional ©2003,2004,2005,2006 Dr. Jody Paul