Meeting Time: MW 2:30 - 4:20 (includes both lecture and lab)
Office Hours: MW 4:20 - 4:50 and by D2L Help Desk
Online Course Site (Desire2Learn): https://sjsu.desire2learn.com/
Contact me:
Desire To Learn Help Desk - Post your class related questions here. "Will arrays be on the exam?" "How can I convert a number from double to int?"
Email - Ask a personal question here. "Why did I get a C on the exam?" Be sure to include CS46A in the subject along with your question. That will keep it out of my spam filter. Do not ask questions about course material or assignments by email. Post those in the D2L discussion area
The schedule is subject to frequent change; visit it before each class meeting.
Description
Basic skills and concepts of computer programming in an object-oriented approach using Java. Classes, methods and argument passing, control structures, iteration. Basic graphical user interface programming. Problem solving, class discovery and stepwise refinement. Programming and documentation style. Weekly hands-on activity.
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
Use an integrated development environment and a debugger
Grades
Exams
Two in-class exams (20% per exam) and a final exam (25%). Exams cannot be made up, except for reasons of illness, as certified by a doctor, or documentable extreme emergency. In which case, the sooner you contact me, the better. Makeup exams may be oral. You must bring a wireless laptop to take the exam.
Programming Assignments
There will be regular homework assignments (25%). Schedule your time well to protect yourself against unexpected problems. I suggest you ignore the official deadlines and complete the assignments early. Late work is not accepted, and there is no extra credit or makeup work. So don't tell me your network went down 10 minutes before the deadline. Have a backup plan.
Class Attendance and Participation
I expect each student to be present, punctual, and prepared at every scheduled class and lab session. 10% of your grade is for particpition. Participation includes your performance on quizzes that check the assigned pre-class reading and completing of the group labs.
Coding Homework Assignments
Homework is not accepted late. It must be in on time. You may NOT work together. Your submission must be uniquely your own. You are encouraged to go the the tutorial center for help or post in the Help Desk in Desire2Learn
Copy the output from the console window and paste it into a comment at the bottom of the source code. Upload your source code into Desite2Learn dropbox..
Style Guide
Your code should conform to the Java Coding Style Guidelines posted on the CS Department web page http://www.cs.sjsu.edu/web_mater/java_code.html. It should also be appropriately documented via javadoc comments
Miscellaneous Policies
Individual Work: All homework and exams must be your own individual work. It is ok to have general discussions about homework assignments, or read other material for inspiration. You may never copy anything from anyone without attribution, with one exception—you may copy from the textbook. For homeworks and exams, you may not copy anything from any other student at all, and you may not collaborate.
Publicly Viewable Work: Your class work (including homework, exam, and project work) may be viewable by other students of this course. Your grades will not be viewable by others.