|
Syllabus |
This is a first programming course for Computer Science majors with a focus on object-oriented programming. The goal of the course is to develop skills such as program design and testing as well as the implementation of programs using a graphical IDE. All programming will be done in Java.
Course Instructor
-
Java Foundations, Lewis, DePasquale, and Chase, Addison Wesley
or- The custom one created for this class (less expensive but only available at the bookstore)
Recommended Text
Major Topics (Not necessarily listed in approximate order of presentation)
- Intro to Computer Systems
- Programming Basics: Variables, Operators, Expressions, Statements, Methods
- Java Text Input/Output
- Conditionals
- Loops
- Principles of Object Oriented Programming
- Basics of Program Design
- Testing and Debugging
- Java Memory Map
- Arrays and Java ArrayLists
- Java interfaces
- Inheritance
- Polymorphism
Assignments
There will be eight programming projects and other assignments to be completed during the lab sessions. Some are considered "closed" assignments which you must complete by yourself and others are considered "open" assignments where collaboration is permitted. (More information about the open policy will be provided in class and can be found in the Policy Regarding Open/Closed Projects.) There will also be two midterms, a final exam, and almost weekly quizzes.
Machines
All assignments can be done on the machines of your choice. You are welcome to do the work on a home computer if you have one or in the public access labs. There should not be any machine-specific dependencies in your code. However, if we are not able to run your program because there is a difference between your and our computer environments, you must work with us to get your program to work in our environment. You are expected to use the Eclipse IDE for all programming assignments.
Laptops
Laptops may be brought to lecture with the purpose of taking notes and trying examples being discussed. The laptop should not be used for working on projects or for other non-class related purposes during the lecture period. For the lab/recitation sections, we will have lab exercises that need to be submitted about once a week. These will usually take place on Wednesdays. I will announce when the submitted lab exercises will be in lecture the previous week, and you are encouraged to bring your laptop to those lab/recitation sections. It is not imperitive that you bring your laptop since we have a cart of laptops and you will be able to borrow one during the lab session, but it is significantly more convenient to have your own.
Grading
All lab exercises must be submitted before the end of your lab session on the day it is due unless stated otherwise in lab. These exercises are mainly for you to practice and will be graded on a 0-2 scale. 0 means you did not show any significant effort, 1 means there was something done, 2 means there was an acceptable accomplishment for during the lab period. Many of the lab assignments are much larger than can be done in the 50 minute lab period so are graded based on what I believe you should be able to complete in that time period. Always submit what you have completed at the end of the lab period - the rest you are welcome to work on outside of the class period.
Grading
All programming projects must be submitted before 11pm on the day they are due. They are to be submitted electronically according to instructions given with the assignments. Late assignments will be strictly penalized. Exceptional circumstances will be considered only if discussed with the instructor before the assignment is due. Late assignments will have points deducted as follows:
- -20% of the total if submitted within 24 hours.
- No late assignments will be accepted after 24 hours.
Final grades will be computed according the following weights. (These weights are tentative and subject to future adjustment.)
|
The weights of the individual projects are: 1%, 3%, 5%, 5%, 6%, 6%, 7%, 7%.
In addition to an overall grade of 70% to receive a C for the course, neither the cummulative project grade nor the cummulative exam grade can be below 60% in order to pass the course with a C or better.
Academic Honesty
All individual assignments/exams must be done individually. (The only exception to this are "open" assignments, which will be discussed in class.) Please visit the webpage of the Student Honor Council for a detailed explanation of what constitutes academic dishonesty. Note that it includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. You are allowed to use the Web for reference purposes, but you may not copy code from any website or any other source. In short, all submitted work must be your own.
Cases of academic dishonesty will be dealt with harshly. Each such case will be referred to the University's Office of Judicial Programs. If the student is found to be responsible of academic dishonesty, the typical sanction results in a special grade "XF", indicating that the course was failed due to academic dishonesty. More serious instances can result in expulsion from the university. If you have any doubt as to whether an act of yours might constitute academic dishonesty, please contact your TA or one of the course coordinators.
Excused Absence and Academic Accommodations
Any student who needs to be excused for an absence from a single quiz or lab exercise due to a medically necessitated absence shall:
- Within 24 hours of the missed assessment, the student must inform the instructor of the missed assessment by using email or (preferably) by using the "Report Absence" button on the grades server. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University staff is prohibited under Part 9(h) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action.
- The student is responsible for following up with the instructor and/or the TA to make sure they have all information missed from that day.
The Major Scheduled Grading Events for this course include:
- Exam #1 - Friday, October 12: during your lecture period
- Exam #2 - Friday, November 16: during your lecture period
- Final Exam - Friday, Dec 14 4:00-6:00 pm (location TBA)
- Project due times as posted on the project description and on Piazza
Disability Support Services
Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Disability Support Services (DSS) within the first two weeks of the semester. Also, the form for special accomodations on any individual exam must be given to the instructor one week before the exam date.Course Evaluations
The Department of Computer Science takes the student course evaluations very seriously. Evaluations for the spring will be open in the beginning of May. Students can go to the www.courseevalum.umd.edu to complete their evaluations.
