Resources

Course Policy, Spring AY19

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

Course Description

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.

Learning Objectives

  1. Adapt knowledge of programming in C++ to Java.
  2. Understand the use of objects in Programming (Supports Student Outcome 2).
  3. Understand the principles of Object-Oriented Programming (OOP) including Encapsulation, Information Hiding, Inheritance, and Polymorphism (Supports Student Outcome 2).
  4. Understand how to use advanced Java features such as threads and GUIs.

Student Outcomes

  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.

Textbook(s)

Optional - Java in a Nutshell, 7th Edition, Flanagan, O'Reilly, 2018. (6th Edition is OK too)

Extra Instruction

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.

Collaboration

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/honor.php. Specific instructions for this course:

  • Homework/Labs: Unless prohibited by the instructor for a specific task, collaborative conversations with regard to syntax and strategies for accomplishing homework assignments and labs are allowed. However, design and implementation must be the work of the individual student handing in the final product. Thus, the actual pencil-to-paper or fingers-to-keyboard work must be your own.
    Specifically:
    • Copying a file or parts of a file from anyone is prohibited.
    • Sending a file or parts of a file to anyone is prohibited.
    • Showing your solution or partial solution to anyone for their benefit is prohibited.
    • Viewing someone else's solution or partial solution for your benefit is prohibited.

    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.

Classroom Conduct

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.

Late Policy

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.

Grading

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%