Lecturer               Pearce

Office Hours        M 3:00 – 4:30 in 213 Macquarrie Hall
TR 1:30 – 2:45 in 213 Macquarrie Hall
Phone: (408) 924-5065
Email: prof.jpearce@gmail.com
URL: www.cs.sjsu.edu/faculty/pearce/pearce.html

Lectures               section 3: TR 12:00 - 1:15 - 3 in MH 222
section 4: MW 1:30 – 2:45 in MH 223

Labs                      section 13:  T 3:00 – 3:50 in SCI 311
section 14: W 3:30 – 4:20 in SCI 311

Students must complete all of the labs in:
www.cs.sjsu.edu/web_mater/cs46a/cs46alab/mainLabDirectory.html

Text                      Cay Horstmann, Java Concepts, 4th Edition, John Wiley, 2005, ISBN 0-471-69704-4. Internet supporting materials for the text are at http://horstmann.com/bigjava.html.

                              Additional References:

                              Java Coding Style Guidelines
(http://www.cs.sjsu.edu/web_mater/java_code.html)

                              CS46A Lab Manual (http://www.cs.sjsu.edu/web_mater/cs46a/cs46alab/mainLabDirectory.html)

                              Java Standard Edition API Specification (http://java.sun.com/j2se/1.5.0/docs/api/)

                              The ACM Code of Ethics (http://www.acm.org/constitution/code.html)

Software               TextPad, BlueJ, J2SE 6.0, and Eclipse or NetBeans

Hardware             Students will be required to bring laptops to class when necessary.

Prerequisites        Eligibility for Math 30 or Math 30P or instructor consent.

                              Material Assumed from Prerequisite Courses:

                              Functions (polynomials, power, algebraic and trigonometric functions), coordinate geometry, equations of simple shapes.

Grading                Grades will be determined by approximately five or six programming assignments (30%), labs (10%), two midterms (30%), and a final exam (30%). Late assignments are accepted by prior arrangement only.

Course Goal         To introduce students to programming concepts and techniques using the Java language in a way appropriate for students without a programming background.

Course Objectives

                              To learn the basic syntax and semantics of the Java language and programming environment

                              To understand the concepts of classes and objects

                              To understand the primitive data types built into the Java language and the difference between variables of primitive types and variables of class types

                              To understand features of a strongly typed language: variable declaration and type compatibility checking

                              To learn about lifetime, scope and the initialization mechanism of variables

                              To be able to implement decisions using if statements

                              To be able to program loops with while, for and do statements

                              To learn about parameter passing mechanisms

                              To be able to write simple graphics programs involving the drawing of basic shapes

                              To learn the basics needed for testing and debugging programs

                              To learn about inheritance and interfaces

                              To be able to use arrays and array lists and to learn about simple array algorithms

                              To learn about exception handing mechanisms

                              To be able to read and write text files

Student Learning Outcomes

                              Upon successful completion of this course, students should be able to:

                              Analyze and explain the behavior of programs involving the fundamental program constructs

                              Write short programs that use the fundamental program constructs including standard conditional and iterative control structures

                              Identify and correct syntax and logic errors in short programs

                              Choose arrays or array lists for a given problem and write short programs that use arrays or array lists

                              Design and implement a class based on attributes and behaviors of objects

                              Construct objects using a class and activate methods on them

                              Use static and instance members of a class properly

                              Identify and describe the properties of a variable such as its associated value, scope and lifetime

                              Describe the parameter passing mechanisms in terms of formal parameters, actual parameters, non-object parameters and object parameters

                              Write a graphics program that draws simple shapes

                              Analyze and explain the is-a relationships among objects using a class hierarchy and inheritance

                              Compare and contrast the notions of overloading and overriding methods in an object-oriented language

                              Write short programs that read and/or write text files

                              Analyze or explain the behavior of a simple exception handler involving a try-catch or throws clause

                              Write javadoc comments for classes and methods

 

Academic Integrity:

                              Your own commitment to learning, as evidenced by your enrollment at SJSU, and the University's Academic Integrity Policy requires you to be honest in all your academic course work. Faculty members are required to report all infractions to the Office of Student Conduct and Ethical Development. The policy on academic integrity can be found at http://sa.sjsu.edu/judicial_affairs/.

Further Information:

·                            If you need course adaptations or accommodations because of a disability, or if you need special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours. Presidential Directive 97-03 requires that students with disabilities requesting accommodations register with the SJSU Disability Resource Center to establish a record of their disability.

·                            Please familiarize yourself with SJSU policies and procedures:

·                              http://info.sjsu.edu/static/soc-spring/soc-spring.html

·                              http://info.sjsu.edu/static/catalog/policies.html

                              particularly the add/drop policy. It is your responsibility to know and observe these policies. However, if there is something about a policy that you don't understand, please feel free to ask! You can also find answers to many questions at the Student Advising Center. Note that this semester the last day to drop without consequence is Monday, Feb. 5, and the last day to add is Monday, Feb. 12. After these dates it becomes very difficult to drop or add a class, so be sure you are in good shape before these dates arrive!