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
· 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!