This course is a mathematically oriented introduction to the Java programming language.
There is an emphasis on algorithm development and programming style using object oriented
paradigm. Topics included are: data types, variables, math operations, methods, strings,
decision-making, loops, file I/O, arrays, classes, interfaces, and graphics.
Students who are planning to take either AP Computer Science course must take Java Programming as a
prerequisite in a prior year.
There are two main purposes of this course:
You are required to have the following items with you in class every day
It is recommended to bring a computer or chromebook with you each day. However, we also have loaner computers available in the classroom (for use in 354 only during class period), and you are welcome to use a loaner computer each day if needed. Writing code on a phone is not allowed; you must use a device with a monitor-sized display and a proper keyboard.
Grades and autograder scores will be automatically and regularly transferred from Gradescope or CS50 (submit50) to Schoology. Quiz and test grades will be entered into Schoology. Grades will be transferred to Aspen at least twice per term.
Your formal programs and labs will be graded based on the following criteria:
The best way to become a strong programmer is to do a lot of programming. In order to ensure you get the most out of this class, you should consistently meet the following expectations:
Upon successful completion of this course, you will have strong enough programming skills to make a non-trivial contribution in a professional environment. Employers are not only looking for good programmers but for those individuals who work hard and work well with others.
If a student misses a class in which no new material was covered, then the student will be expected to take the assessment with the class. If a student misses class the day of the assessment, then the student will be expected to take the assessment before or after school or in H-block within three days of their return to school. Students are responsible for getting class notes and completing any assignments that were due or given during an absence. Homework assignments will be posted on Schoology. If you have questions, contact a classmate or me. Homework is generally due by 10 pm the day before the next class. For Gradescope assignments, you may submit the assignment multiple times until the due date; the latest submission will be graded. Unless discussed with me before hand, late work will not be accepted more than a week after the due date. Late programs passed in within a week of the original due date will have points deducted.
Regular attendance is crucial to your success in this class. Students are responsible for getting class notes and completing any missed assignments from an absence. Students who are not in the room and ready to work when the bell has rung are tardy. Students with three or more unexcused absences or five or more unexcused tardies will receive an after school detention. School policy will be followed for patterns or absences or tardies.
If you feel you are falling behind or you are having difficulty understanding concepts, come for extra help as soon as possible. You can book an H block with Dr. Bezaire, or email Dr. Bezaire if the H block is full. You can also email Dr. Bezaire your questions or post to our private Stack Overflow.
Most assignments in this class are individual assignments. Occasionally there will be group projects or group exercises. In all situations, students are expected to follow the guidance found in the Student Handbook.
Here are the integrity policies for each type of assignment. Unless otherwise specified, an assignment is subject to the policy for individual work in this class. No matter which policy is in play, it's always expected that any code not written by you is attributed to the author or source in a comment. Use comments to clearly indicate any code blocks not written by you.
Individual work |
---|
Refer to this site or the course content in Schoology |
Copy individual method headers from examples provided by Dr. Bezaire into your code |
Start an assignment from template files provided by Dr. Bezaire |
Look at your own code from class this year or last year |
Use standard debugging strategies |
Ask Dr. Bezaire or your classmates for verbal or email conceptual help or specific debugging help (what does this exception mean? Why is this math expression always returning 0? What are some reasons why my loop might not print anything?) |
AI: Ask questions to and copy code snippets from the CS50 Duck Debugger |
Ask questions or look at content on our private Stack Overflow for Teams site |
Search and look at content on Stack Overflow. Do not copy code directly and make sure to cite any code in your program inspired by what you found on Stack Overflow. A simple comment with the link to the Stack Overflow page is sufficient |
Advise your classmates in plain English, using pseudocode, or with diagrams, view their exceptions or buggy code snippet and provide limited, specific guidance, on paper, verbally, on our Stack Overflow for Teams site, etc. |
Show the erroneous part of your code to someone who has already successfully completed it for help with debugging. The person helping should not change your code or give their correction verbatim, but can point out where or what seems wrong in your code. |
Do not look at or copy from someone else's code for this assigment |
Do not post publicly or otherwise share, send, or make available your code file or large code blocks from this assignment |
AI: Do not use any AI helpers other than the CS50 Duck Debugger built into your CS50 IDE |
Group Projects |
---|
Refer to this site or the course content in Schoology |
Copy individual method headers from examples provided by Dr. Bezaire into your code |
Start an assignment from template files provided by Dr. Bezaire |
Look at your own code from class this year or last year |
Use standard debugging strategies |
Ask Dr. Bezaire or your classmates for verbal or email conceptual help or specific debugging help (what does this exception mean? Why is this math expression always returning 0? What are some reasons why my loop might not print anything?) |
AI: Ask questions to and copy code snippets from the CS50 Duck Debugger |
Ask questions or look at content on our private Stack Overflow for Teams site |
Merge code written by someone else in your group into your code file(s) for this assignment (with comments indicating the author), or share your code written for this assignment with other group members (with comments indicating the author) |
Review and ensure that you understand the code written by your group members |
Search and look at content on Stack Overflow, but check with your group members before incorporating any snippets and make sure everyone is aware of the provenance of all code submitted for a group project. |
Advise your classmates in plain English, with pseudocode, or using diagrams, view their exceptions or buggy code snippet and provide limited, specific guidance. This can be done on paper, verbally, on our Stack Overflow for Teams site, etc. |
Show the erroneous part of your code to someone who has already successfully completed it for help with debugging. You should first go to your group members for help before seeking help from students not in your group. The person helping should not change your code or give their correction verbatim, but can point out where or what seems wrong in your code. |
Do not look at or copy from the code of someone outside your group for this assigment |
Do not post publicly or otherwise share, send, or make available your code file or large code blocks from this assignment to anyone outside your group |
AI: Do not use any AI helpers other than the CS50 Duck Debugger built into your CS50 IDE |
The expectation is that unless indicated otherwise, all work you submit will be your own. Interaction and discussion with classmates and others can facilitate mastery of the course material. However, there remains a line between enlisting the help of another and submitting the work of another. Collaboration is only permitted to the extent that the assistance does not include using someone else’s work as your own, or enabling someone else to use your work as their own. When asking for help, you may show code snippets to others, but you should not be viewing their code. Respect the intellectual property of your classmates.
If two or more students turn in overly similar code for an assignment, all involved students will lose credit for the assignment.
Students are responsible for writing the content of all program files that they submit in this class. Students will be held accountable for the content of their programming submissions in this class.
If a student is found to have violated the academic honesty expectations for an assignment, the student will be talked to and their caregivers and assistant principal will be made aware of the violation. For the first occurrence, no conduct referral will be filed. In most situations, nothing will go on the student's permanent record based on a single offense, although there will be consequences to the student's grade for the assignment and their work ethic points for the term. If a second violation occurs (across any class) or if a student first violates the expectations on a large project such as the AP CSP Create Task, a conduct referral would be initiated at that time.