![]() |
Dr. Jody Paul – Education – MSCD Courses Computer Science 1 |
| jody@acm.org | ||
| 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 |
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 OnlineStudents 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).
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
| 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. |
| 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:
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.
|