Introduction to Java Programming, "Brief version", 7th Edition.
Note: If you already own the fifth or Sixth Edition of this book, then it will be fine to use them for this course
Note: You do not need the comprehensive edition
By Y Daniel Liang
Java How to Program (Sixth Edition)
By Deitel and Deitel
Published by Prentice Hall, 2005
Supplemental Course Materials
Course Description: This is a first course in computer science, using Java, an object oriented language. You do not need to have experience with Java, but some basic knowledge of some programming language is required, including the following topics:
- Variables: types integer and real (int and float or double in Java)
- Arithmetic and Boolean operators and expressions
- The assignment statement
- The if--else statement, including nested if--else statements
- The for loop, including nested for loops
- Basic input and output.
Students without programming experience should take the more introductory course -- V22.0002.
Topics: This is a tentative list of the topics we will cover
(We will focus on learning concepts in chapters 1-11 and the remaining chapters 13-17 will be used for developing the final project)
- Chap. 1, Introduction to Java
- Chap. 2, Elementary Programming (Primitive Data Types)
- Chap. 3, Selections (Control Statements)
- Chap. 4, Loops
- Chap. 5, Methods
- Chap. 6, Arrays
- Chap. 7, Objects and Classes
- Chap. 8, Strings and Text I/O
- Chap. 9, Thinking in Objects
- Chap. 10, Class Inheritance and Polymorphism
- Chap. 11, Abstract classes and Interfaces
- Chap. 13, GUI Basics
- Chap. 14, Graphics
- Chap. 15, Event-Driven Programming
- Chap. 16, Creating User Interfaces (ONLY 16.1, 16.2, and 16.4 of the text will be covered)
- Chap. 17, Applets: sec 17.1, 17.2, 17.3, 17.4
- Chap. 20, Recursion
* It is very important to read the appropriate chapters in the text when the topics are covered, and to work through many of the exercises in the text as well as to do the homework assignments. The goal is not to teach you everything in the Java language, but to have you become competent Java programmers. Programming is not easy and becoming a good programmer is a learning process not unlike becoming a good writer. It needs patience, logical thinking, lots of practice, and the willingness to seek out help when necessary and learn from the responses to your questions.
- Midterm Exam: 25 % of course grade
- Assignments : 30 % of course grade
- Final Group Project: 5%
- Final Exam: 40% of course grade
* There will be no make up exams and the final is mandatory. Do not make plans to leave the New York City area before or on these dates
- Group project:
Students are required to work in groups to produce a final groups’ projects (worth 5% of your grade.) For the group project, students will develop a game in Java. The group project is an opportunity for students to experience Game development while working within a group, similar to the way projects are created in the real world. Each team will create a fully functioning game that employs a clean design, intuitive graphical interface, and technical functionality. This will be a great opportunity to for students to learn GUI programming in Java while building fun and interactive games.
Help: Whenever you have a question about the course material, please feel free to drop by during my office hours or write me an email message. If at any time you feel that you are falling behind or are overwhelmed by the material, let me know: I will be very happy to help you.
E-mail Accounts: All students are required to have e-mail addresses, and e-mail will be used extensively for communication with the course tutors, and for submitting the homework assignments. Your e-mail headers and mailing list subscription information must clearly display your name. Do not use an alias instead.
Class mailing list: It is an absolute requirement of this class to join the class mailing list. All important announcements will be sent to the class mailing list.
E-tutors and Computer Assignments: Our class has been assigned an e-tutor. E-tutors are upper-level undergraduate students with exceptional academic records. They are available by e-mail to help you with questions about the computer assignments, to evaluate your submissions, and to steer you in the right direction when help is needed. Five or six programming assignments will be given. Solutions must be submitted by e-mail, on or before the due date. Your e-tutor will send you an e-mail giving a numerical grade for your program. The e-tutor will run the final program on various inputs, so it is important that the program work correctly for any choice of input.
Remember that although the e-tutor is there to help you, she is also helping many other students, so limit your e-mail communication to a reasonable amount. If you are have much difficulty with the programs, you should ask your instructor and/or TA for assistance.
Cooperation, Acknowledgments and Cheating: You are expected to do your own work. It is fine, in fact often very helpful, to work cooperatively with other students, but the work you submit should be your own. If you get an idea from another student, or from a tutor, that you use in your work, this is OK, but you must acknowledge that person in the program comments. When you turn in an assignment, you are saying that you have done this work yourself. See the Computer Science Department's Academic Integrity statement. Disciplinary action will be taken against those who violate the rules.