INSTRUCTOR: Prof. David Freer
TELEPHONE: (786)877-4573
EMAIL: dfreer@mdc.edu, david.freer@gmail.com
WEBSITES:
http://mdcjava.blogspot.com
http://www.freerschool.com
You will need to use a computer with internet access to complete assignments. Study Center in Room 9103 provides computers access for CIS students. You will be asked to provide a current MDC ID and validated schedule when you enter the Study Center. The hours of operation are on the door of Room 9103 and on the CIS Department web page located at http://www.cis.kendall.mdc.edu/About/Center.htm. Broken computers and “internet down” are not valid excuses! You can use the CIS Study Center computers.
This is an intermediate level programming course using the Java computer language, recommended for Computer Science and Computer Information Systems majors. Students will learn to code, compile and execute programs while learning advanced programming concepts and object oriented programming and design concepts and principles. Prerequisite: COP1334. Laboratory fee. (3 hr. lecture, 2hr. lab) |
Competency 1: The student will demonstrate an understanding of the Java system architecture and its major components
Competency 2: The student will demonstrate an understanding of the professional software development process
Competency 3: Students will demonstrate an understanding of fundamental programming constructs and concepts
Competency 4: The student will demonstrate an understanding of the following advanced programming techniques
Competency 5: The student will demonstrate an understanding of the object oriented programming concepts of Class and Object
Competency 6: The student will demonstrate an understanding of inheritance
Competency 7: The student will demonstrate an understanding of Object Oriented Design concepts
Competency 8: The student will demonstrate an understanding of Java input and output
Competency 9: The student will demonstrate an understanding of exception programming techniques
Competency 10: The student will demonstrate an understanding of GUI (Graphical User Interfaces) and event-driven programs
Competency 11:The student will demonstrate an understanding of professional development
Miami Dade College - General Education Learning Outcomes
a. This outcome is not reinforced in this course.
Required:
Big Java 3e with WileyPLUS by Cay Horstmann. Publisher: John Wiley & Sons, Inc. (WileyPLUS provides access to required online features)
• Printed book with WileyPLUS ISBN: 0470105542 (updated 3/11/09)
OR
• WileyPLUS only (includes book online) ISBN: 9780470111130
Highly Recommended:
Home computer with high speed internet access
USB Drive (Flash Drive, Thumb drive).
I am generally very quick about responding to emails. If there is a delay of a day, write me again!
This is a participatory course and you must be in class to succeed. Roll will be taken at the start of each class – if you are late you will be counted absent. It is the student's responsibility to obtain the information missed during an absence.
Some files may be stored on the CIS network in the classroom and in the CIS Study Center. You will upload files to your moodle account which will be located at www.freerschool.com
Students will be responsible for all material covered in class and all chapters assigned in the textbook. Readings should be completed before class begins. While some class time will be spent working on the tutorial exercises in the book, you are responsible for completing each of the assigned tutorials.
Grading Criteria | number | percent of total |
Major Assignments | 5 – 10 | 35% |
Minor Assignments, Quizzes, and Blog | 10 -- 20 | 25% |
Exams | 3 – 4 | 25% |
Final exam | 1 | 15% |
Total |
| 100% |
Final Grading Scale | A | B | C | D |
Percentage cut-off | 90% | 80% | 70% | 60% |
You can make up one test at the end of the semester.
Assignments are due at the beginning of class on the due date. Late assignments will lose 10% of their grade and will only be accepted up to one week past their due date. Each assignment will have specific submission guidelines. Most assignments will be submitted via the internet to either http://www.freerschool.com
All coding assignments must follow professional coding style guidelines. See the Coding Style Guide.
While I encourage discussion about assignments, ALL CODE MUST BE YOUR OWN unless otherwise specified. Since it is impossible to determine who the author was and who was the plagiarizer, all assignments submitted with duplicate code will receive a 0. The second sign of copied code will be taken to the Dean.
Sun Java Technology: http://java.sun.com/
WileyPLUS: http://www.wileyplus.com/
Netbeans: http://www.netbeans.org
BlueJ IDE website: http://www.bluej.org/
The Java Tutorial: http://java.sun.com/docs/books/tutorial/index.html
developerWorks : Java technology: http://www.ibm.com/developerworks/java/ (there are many others!)
Slashdot: News for nerds, stuff that matters: http://slashdot.org/
Kathy Sierra and Bert Bates, Head First Java (2nd Edition) , O'Reilly. A highly regarded alternative textbook. Good alternative explanations and illustrations; a limited preview is available at books.google.com.
Peter van der Linden. Just Java™ 2 (6th Edition). Prentice Hall. Good reference and source of alternative explanations.
Ken Arnold, James Gosling, and David Holmes. The Java™ Programming Language. Addison-Wesley . Good description of language design; interesting reading but not a good reference for syntax.
Steve McConnell, Code Complete (2nd Edition), Microsoft Press. This is a book that every professional programmer should read. McConnell's claim "… this handbook will help you to create higher-quality software and to do your work more quickly and with fewer problems." is absolutely true.
All students that are listed on the final grade report will receive a final grade. Incomplete grades will be given only if a) you are up-to-date in class AND b) you have a passing grade AND c) you have an emergency or life change that occurred after the semester began that can be verified and is beyond your control. It is your responsibility to determine the official drop dates for your courses. See http://www.mdc.edu/academic_calendar/.
COP2800 09-1
TENTATIVE SCHEDULE OF ACTIVITIES FOR Monday / Wednesday
(6:00 – 7:40 PM – REFERENCE NO. 545013)
January 5, 2010 – April 30, 2010, in room 2128
|
| |
Week | Topics / Reading Assignments | |
1 | Using objects and exploring variables Tools for Programming http://faculty.mdc.edu/gballing/Java/Installation%20Instructions.htm To bundle the JDK and Netbeans go here. Chapter 1, 2 Presentations | |
1 | Pseudocode II Small Business Example **LAST DAY TO DROP WITH A FULL REFUND January 11, 2010.** | |
2
| Fundamental Data Types Exploring objects and writing methods Chapter 3 Scanner: Input | |
2
| Toy and ToyStore example in class. Pet and Vet class example Minor Project | |
3
| Review Chapter 1-5 Chapter 6 Exam 1 Chapter 1-6 | |
3
| Prime numbers Introduction to Chapter 9.
| |
4 | Polymorphism II | |
4 | Chapter 10 Inheritance Review static methods. Design quality – coupling and cohesion | |
5
| Chapter 8 Presentation Major Assignment 2 Due. | |
5
| Finish Real Estate Example in class. | |
6 | Exam 2 Chapters 1-10 | |
6 | Object Oriented Design II Chapter 8 Exceptions and Java I/O Reading from Files BlackJack Program | |
7 | Reading from Files Multiples of 3's and 5's under 1000 summed up! Video game programming: Blackjack! 1 | |
7 | GUI and MySQL connections Video game programming: Blackjack! 2 | |
8 | Review for Exam 3 | |
8
| Exam 3 | |
9 | Chapter 12 Chapter 18 GUI and Event | |
9 | Handling,Chapter 12 Recursion | |
10 | Chapter 18 Prime Numbers and recursion Data Structures: Stacks, Queues, and Lists | |
10 | Searching data structures. Exponents and palindromes. | |
11 | BetterProgrammer.com Final review | |
11 | Final Exam Final Project Due on FreerSchool. | |
"Putting off an easy thing makes it hard.
Putting off a hard thing makes it impossible."
-- George Claude Lorimer
Steps to success!
READ THE TEXTBOOK! Before all else fails, read the directions.
PUT IN THE TIME! You should plan to spend a lot of time on this class. In college the average amount of study time per week should be twice the amount of lecture time in each class. Since you will spend 5 hours per week in this class, you should plan on spending at least 10 hours per week studying for this class. I say at least because the 2*Lecture hours formula is an average. Since this is a programming class, plan on spending more time than the average.
ASK QUESTIONS! Come prepared with questions. Read the material before coming to class and develop a list of questions or topics for which you would like an alternative explanation. If the instructor doesn’t answer these questions or offer the explanation during lecture, ask the question or request the explanation. Ask the instructor to clarify any points you have at the point of your confusion, don’t expect to figure it out later.
TAKE NOTES IN CLASS. What did he say? That it was going to on the test or not? Writing things down makes them easier to remember.
TAKE NOTES WHILE READING! If writing notes in class helps you remember what the instructor said, taking notes while reading will help you remember what the author wrote. Highlighting does not improve memory.
MAKE A LANGUAGE SUMMARY SHEET. Every time you encounter a new Java concept, add it to a master sheet showing the correct syntax and relevant notes for each Java concept you learn. Having this handy will greatly speed programming.
PLAN BEFORE CODING. You have been speaking English for much longer than you have been speaking Java. Write out your program in English (pseudocode) first. .If you can’t clearly express the program in English, you are not ready to try translating it into Java!
THINK THROUGH NON-ASSIGNED EXERCISES. Test your understanding of the material by thinking through some of the end-of-chapter exercises in the text, perhaps even going as far as writing pseudocode.
REVIEW NEW MATERIAL WITHIN 24 HOURS. A quick reading of your notes the day after you take them will almost double your memory of the material. If you read the notes out loud, it will double your memory.
START ASSIGNMENTS IMMEDIATELY! All assignments in this course will take longer than you expect. If you start early, you will be able to use the instructor’s (and fellow students’) class and lab time to help you develop your project. Waiting until the week it is due will not leave enough time to ask for help!
HAVE FUN! If you become bored, frustrated or sleepy this usually means that your short-term memory is “full” and it is time to take a break. Even a short break will give your short-term memory a chance to process what it has just absorbed.
The purpose of computing is insight, not numbers.
-- R. Hamming.