Jody Paul (Logo) Dr. Jody Paul – EducationMSCD Courses
Computer Science 1
jody@acm.org    
     
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 1
Institution: Metropolitan State College of Denver
Course ID: CSI 1050
Semester [CRN]: Spring 2006 [§1 - 33034;  §3 - 33036]
Meeting Times: §1 MW, 9:00AM - 10:50AM; §3 MW, 7:00 PM - 8:50 PM
Location: §1 WC-142; §3 SI-228
Credit Hours: 4
Official Info: This is the first course in the Computer Science core sequence.
Course Website: http://www.jodypaul.com/cs/cs1
Instructor: Dr. Jody Paul (schedule & office hours)
E-mail: jody@cse.mscd.edu
Office: Science 133C (x68435)
Campus Mail: Campus Box 38

Resources:

Link to textbook info at amazon.com

Java Concepts, 4th Edition
by Cay S. Horstmann
Wiley, 2006
ISBN 0-471-69704-4
Buy new or used at Amazon.com or
Auraria Campus Bookstore Online

Students also need WileyPlus access which is bundled with the text at the Auraria Campus Bookstore but may also be purchased directly from Wiley at www.wiley.com/marketbasket.cgi?schoolchooser&isbn=EEGRP01293

The appropriate class section URL for this course will be provided in class. A quick-start tutorial is available at www.wiley.com/college/egradeplus/help_docs/student_quick_start_1.pdf

   

Java Learning Resources:

    BlueJ [download]
    BlueJ Manual to accompany the Java Concepts textbook

    Java 5.0 API Documentation —— Java 5.0 (J2SE/JDK 5.0)
    Code Conventions for Java (Sun)

Java tutorial and overview:
      http://java.sun.com/docs/books/tutorial/
      http://docs.rinet.ru/JavDev/

Demonstration of basic console input and output: IODemo.java

Demonstration of a simple applet:
      Instructions
      SimpleApplet.java
      SimpleMouseListener.java
      SimpleApplet.html
Java Applet tutorials:
      Writing Applets (sun.com)
      Java Applet Tutorial (realapplets.com)
      Java Applet Tutorial (toronto.edu)
 

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
 
 
Connectivity:
You must have World Wide Web access, an MSCD student e-mail account and computing facilities for developing programs in Java. Note that you receive an e-mail account, Internet/Web access and appropriate computing facilities by virtue of being a student at MSCD (see: http://www.mscd.edu).
 

Final Examination

     Monday, May 8 — During regular class time, at regular class location

Assignments

     Please see assignments hosted on the WileyPLUS website!

     Psychology Experiment Support application project:
          API Specification (updated 13 March)
          Unit Test Classes: RoomTest.java, SessionTest.java, StudentTest.java, TimeTest.java
          Test Driver Classes (updated 26 February): ScheduleTester.java, TextualScheduleTester.java
          Sample Solutions (posted 17 March): Room.java, Session.java, Student.java, Time.java

     Decision Support project:
          Class Templates: Decider.java, Choice.java, Characteristic.java,
          UserInterface.java, ConsoleUserInterface.java, GraphicalUserInterface.java

          Sample Solutions (posted 17 April): Choice.java, Characteristic.java,
          ConsoleUserInterface.java, GraphicalUserInterface.java


Schedule

Tentative Schedule for Spring 2006:
• Weeks 1–3

        Fundamentals of Computing
        Basics of Software Engineering
        Problem Analysis
        Basics of Object Oriented Programming (Classes, Objects, Attributes & Methods)
        BlueJ
        Java Syntax
        Data Types (Classes and Primitive types boolean, int, float)
        Review of numeric representations in different bases (binary, octal, decimal, hexadecimal)
        Object Construction (new)
        Assignment statement (=)
        Return statement (return)
        Arithmetic expressions
        Console output (System.out.print; System.out.println; overriding method toString)
        Textbook Chapters 1, 2, 3, 4
• Week 4
        Problem Analysis
        Solution Design:
             Classes (data members, methods)
             Algorithms (sequential, recursion, formula, iteration)
        UML Documentation (Class Diagrams)
        Graphical User Interaction (javax.swing.JOptionPane input: showInputDialog)
        Graphical User Interaction (output: showMessageDialog)
        Conditional statement (if)
        Java Syntax
        Textbook Chapters 5, 6
• Week 5
        Variable Scope and Lifetime
        Conditional statement (if … else)
        Solution Design
        Object References
        Inheritance
        Polymorphism
        Test-First Development (introduction to)
        Instance Data & Methods
        Class Data & Methods (static)
        Textbook Chapters 9, 10, 11, 13
• Week 6
        Using the Java API documentation
        Java's String class (methods; syntax anomalies)
        Using Package Classes (import)
        Collections of Objects (introduction to)
        java.util.ArrayList
        Control flow - looping (while; do...while)
        Homogeneous fixed-size aggregate data structures: arrays (1 & 2 dimensional)
        Control flow - looping/iteration (for)
        Conditional statement (switch)
        Textbook Chapter 8
• Week 7
        Software Life Cycle Models (see: Software Engineering Fundamentals)
        Iteration
        Processing collections (Iterator)
        Textbook Chapter 7
• Week 8
        Midterm Exam
• Week 9
        Casting (explicit down-casting)
        Textbook Chapter 17
• Week 10
        Processing collections: Structural recursion
        Destructive processing
        Copy constructors (deep, shallow)
        Refactoring
• Week 11
        Refactoring
        Revisiting the interface to a class (Class diagrams; BlueJ's Interface view; Javadoc)
        Abstract classes and methods (abstract)
        Java interface types (interface; implements) and examples (List; Set)
        Textbook Chapter 21
• Week 12
        Using interface types (java.util.Comparable; Collections.sort)
        Creating collections: Structural recursion
• Week 13-15
        2-dimensional array processing: ImageLab project (imagelab.zip)
        Textbook Chapter 11

Course Description & Objectives:

Students will be introduced to fundamentals of Computer Science and learn the basic techniques for analyzing problems and for designing, constructing, validating and maintaining computer-based solutions. The course addresses methods for problem specification and analysis, the design of software-based solutions, and the fundamentals of software engineering most critical to success.

This semester, the Java programming language will be used to illustrate the Computer Science concepts. The BlueJ integrated learning and development environment will be used to facilitate implementation and experimentation.

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.

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 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. Given that you meet the requirements for a passing grade, your letter grade will be no lower than that computed by the following distribution of points and weighted average conversion to letter grade:

Distribution:
Homework Assignments & In-Class Exercises = 15%
Midterm Exam = 30%
Final Exam (comprehensive) = 55%

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 no more than 25% of the total possible points. Missing the final exam will result in a course grade of F. 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. An act of Academic Dishonesty may lead to sanctions including a reduction in grade, probation, suspension or expulsion. See the Student Handbook at http://handbook.mscd.edu, section "Standards of Conduct". 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: http://cs.mscd.edu/metadot/index.pl?iid=2249

Also see the MSCD College Catalog at http://www.mscd.edu/academic/catalog/ for official announcements, including Academic Policies and Procedures and Student Rights and Responsibilities, and the Academic Calendar at http://www.mscd.edu/academic/acal.htm 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 – All Rights Reserved