Resources
Course Coordinator: Associate Professor Nate Chambers • x3-6838 • MI-366 • nchamber@usna.edu
Instructor: Associate Professor Gavin Taylor • x3-6816 • MI-355 • taylor@usna.edu
Instructor: Major Brian Hawkins, USMC • x3-6803 • MI-348 (via MI-346)• bhawkins@usna.edu
This course builds on the procedural programming skills developed in the prerequisite course and introduces the student to object oriented programming and design principles using Java. Object oriented topics such as classes, inheritance, information hiding, polymorphism, and dynamic binding are presented and used to create robust, reusable, and maintainable software. The fundaments of Java are presented along with exception handling, I/O, event driven programming, simple GUIs, and generics.
Prereq: IC210 or SI204.
2. Implementation. An ability to design, implement, and evaluate a computer-based solution to meet a given set of computing requirements in the context of the discipline.
Optional - Java in a Nutshell, 7th Edition, Flanagan, O'Reilly, 2018. (6th Edition is OK too)
EI is available and encouraged and should be scheduled with your instructor. Since this course continually builds upon material previously presented, it is crucial that you seek EI as soon as you have problems understanding the material. However, EI is not a substitute lecture; you must come prepared with specific questions or areas to be discussed (i.e. have read the assigned lecture material). Students are also encouraged to attend MGSP.
The guidance in the Honor Concept of the Brigade of Midshipmen and the Computer Science Department Honor Policy must be followed at all times. See
www.usna.edu/CS/resources/
Note: Although labs are treated as "routine" in this class, so that collaboration is allowed to the same extent as for homework, other courses in the department will treat them differently! Do not assume this is standard!
Projects: You must do your own work in designing, implementing, and testing your projects without assistance from anyone except for your instructor. Further, you may not discuss the project in any form with others except for instructors of the class.
Quizzes and Exams: All quizzes and exams will be individual effort. You may not receive help from anyone. Unless otherwise specifically stated, all quizzes and exams will be closed book.
When permitted, all assistance, collaboration, and resources must be documented. Midshipmen must clearly state on their assignment what resource(s) they used, with whom they collaborated, or from whom they obtained assistance. The same rules apply for giving and receiving assistance. If you are unsure whether a certain kind of assistance or collaboration is permitted, you should assume it is not, work individually, and seek clarification from your instructor.
Any cheating will result in, at a minimum, a zero for the assignment, quiz, lab, or exam in question. All honor offenses will be reported to the Honor Board.
Section Leader: The section leader will record attendance and bring the students to attention at the beginning and end of each class/lab period. If the instructor is late more than 5 minutes, the section leader will keep the students in place and report to the Computer Science department office. If the instructor is absent, the section leader will direct the students in productive review of course material.
Food & Drink: Drinks are permitted, but they must be in reclosable containers. Food, alcohol, smoking, smokeless tobacco products, and electronic cigarettes are all prohibited.
Cell Phones & Smart Watches: Cell phones must be silent (preferably off) and put away during class/lab. Any use of a smart watch during class/lab to access funtions normally associated with a cell phone is strictly prohibited. Any cell phone or smart watch found in violation of this policy will be confiscated and turned into your Company Officer.
Laptops, tablets, & computers: When using laptops, tablets, or computers during class/lab, students are prohibited from viewing any material that is not directly related to the course. Unless otherwise stated by the instructor and for a specific purpose, laptops and tablets are not allowed in the classroom/labroom.
Labs: During lab periods, students must work on the current lab assignment only. Students are prohibited from working on other course material or previous lab assignments.
All work has a specified due date and time. Any assignment turned in after the specified time will be considered late. More specifically:
Homework: Homework assignments will be due at the beginning of the class following the assignment. No late submissions will be accepted for grading credit without an excused absence or prearranged coordination with the instructor.
Labs: Lab assignments will be due before the start of the following lab. No late submissions will be accepted for grading credit without an excused absence or prearranged coordination with the instructor.
Projects: Late submissions incur a penalty of 3N points, where N is the number of days late, rounded up to the nearest whole day. One second late will be considered equivalent to one day late.
Note: All labs and projects MUST be completed in order to pass this course.
Extentions to due dates/times are available on a case-by-case basis and must be requested in advance of to the specific assignment's due date/time. Requests for extentions must include sufficient justification and are not guaranteed to be approved.
Grades will calculated in accordance with the table below.
| 6 weeks | 12 weeks | Final | |
|---|---|---|---|
| Homework | 15% | 10% | 5% |
| Labs | 25% | 20% | 15% |
| Projects | 30% | 30% | 30% |
| 6 Week Exam | 30% | 15% | 10% |
| 12 Week Exam | 25% | 10% | |
| Final | 30% | ||
| Total | 100% | 100% | 100% |