Course Outline for CST 141 (CS-16) Department of Computer Science and Information Technology Revised 1-26-2009 Catalog Number: CST 141, Section 20567 Title: Principles of Computing Using Java Semester: Spring 2009 Prerequisite: MAT111 (MA27) and CST112 (CS12), or permission of department Instructor: Professor David Stampf (drs@bnl.gov/631-344-4148) Office Hours: 30 minutes before and after class and by appointment Catalog Description: Introduces concepts needed to lay a solid foundation for understanding object-oriented software development via problem specification, analysis, design, implementation and testing. Topics include methods, decisions, looping, arrays, code re-usability, top-down design and UML. With extensive laboratory exercises, this course educates and trains students to develop programs that are easy to understand and maintain. Procedures for Accomplishing the Objectives: The course will be a mixture of lecture and laboratory. The lectures will amplify reading assignments from the text, provide examples of problem solving and good programming practices. Laboratory sessions will demonstrate the use of some features of a popular Java development environment and the students will be expected to practice and master the feature during that session and utilize it in a lab exercise. Homework assignments will require the student to read from the text, program outside of the classroom and use the web to research programming issues. Student Requirements for Completion of the Course: Read the assigned pages in the text. Participate in class discussions Submit homework assignments on time Submit programming projects on time. (Handing them in 1 week late will receive a 10% penalty. It may not be handed in later than that.) Submit lab assignments as assigned. CST 141/20567 1 Spring 2009 Have access to a computer outside of class meetings for completion of their programming assignments. The student should expect to spend 4-8 hours/week outside of the class meeting studying and programming. Take and pass chapter tests and a Final Exam Academic Computing Lab: Computers with software for CST courses are available in the basement of the library. Hours are posted in the library. Student tutoring and open lab hours will be posted outside the labs in the Riverhead building. Grading Practices: The final grade will be based on the following factors: Class participation 10% Chapter Tests 25% Programming projects 40% Final 25% Student Responsibilities: Students are responsible for all work covered in class. If the student is late or absent, it is the student's responsibility to determine what has been covered and assigned. It is the school policy to permit up to 1 weeks worth of absence. After that, you must speak with the professor. Arriving late is rude. If unavoidable, the student should enter with a minimal disturbance to the rest of the class. The use of cell phones in the class is forbidden. A cell phone ringing in the middle of a class is extremely rude and will impact on the student's class participation grade. Surfing the web and text messaging during a lecture is rude and it will impact the student's class participation grade (as well as their understanding of the material). Cheating is unacceptable. It will not be tolerated. Theft of software is unacceptable. Students are not permitted to copy any software used in class unless specifically instructed to do so. Commercial software is protected under federal copyright laws. Any students who illegally copy files may be dismissed from class and given a final grade of F. CST 141/20567 2 Spring 2009 Textbook and Software: The text for the class is Java - An Introduction to Problem Solving & Programming, 5th edition by Savitch and Carrano, Pearson, 2009. We will make use of a public domain integrated development environment (IDE) and a Java Development Kit (JDK) available either from netbeans.org or java.sun.com. These will run on any modern operating system (Windows, Linux and Mac). The IDE is not covered in the text, but will be taught during the labs and numerous short tutorials are available on-line. The student may consider other books to support their studies. First is Head First Java , 2rd Edition by Kathy Sierra & Bert Bates, published by O'Reilly in 2005. This is a non- traditional text book, that requires an active reading approach (i.e., you are expected to read it carefully and do all of the exercises and quizzes in the text) but many of my past students have enjoyed this book. Advanced Java tutorials for those who have some programming experience are “Core Java 2, Volume 1 – Fundamentals” and “Core Java 2, Volume 2 – Advanced Features”, and Learning Java 3rd Edition. They are not required texts. Weekly Schedule: Week Date Topic Chapter 1 2/3 Introduction to Java 1&2 2 2/10 Variables and Expressions & Strings 2 3 2/17 I/O & Boolean 2&3 4 2/24 Loops 4 5 3/3 Loops 4 6 3/10 Classes 5 7 3/17 Classes 5 8 3/24 Classes 6 9 3/31 Classes 6 10 4/14 Classes & Arrays 6&7 11 4/21 Arrays 7 12 4/28 Arrays 7 13 5/5 Arrays 7 14 5/12 Review and Final 1-7 CST 141/20567 3 Spring 2009