Course Syllabus

CIS 36B-01Y: Intermediate Problem Solving in Java

  • Spring Quarter, 2020
  • CRN# 43840

Course Instructor: Jennifer Parrish, M.S. Computer Science

Contact Information:

  • Email: parrishjennifer (at) fhda (dot) ed

Office Hours:

  • Mondays 10:00am-10:50am
  • Tuesdays 10:00am-10:50am
  • Wednesdays 10:00am-10:50am
  • Thursdays 4:00pm-4:50pm
  • Office hours will be held via Zoom. More information will be posted on Canvas.

Course Teaching Assistant:

  • Roee Barazer:
    • Office Hours:
      • Mondays and Wednesdays from 9:30am-11:20am
      • Tuesdays and Thursdays from 9:30am - 12:20pm
  • Saahiti Jasti
    • Office Hours: Tuesdays from 10:30-11:20am
  • Ezekiel Norman
    • Office Hours: Monday - Thursday from 11:00am-12:00pm
  • T.A. office hours will be held via Zoom. More information will be posted on Canvas.

Course Description:

  • A systematic approach to the design, construction and management of computer programs, emphasizing design, programming style, documentation, testing and debugging techniques. Strings, multi-dimensional arrays and Classes. References: their use in arrays, parameters and containment. Introduction to linked lists.
  • Prerequisite: CIS 36A.
  • Students may receive credit for either CIS 36A and 36B, or CIS 35A, but not both.

Student Learning Outcomes:

  • Read, analyze and explain intermediate level Java programs.
  • Design solutions for intermediate level problems using appropriate design methodology incorporating intermediate programming constructs.
  • Create algorithms, code, document, debug, and test intermediate level Java programs.

Course Textbooks:

  • Liang, Daniel. Introduction to Java Programming, Comprehensive. 11th Edition. Pearson. ISBN: 978-0134670942
  • Block, Joshua. Effective Java. 3rd Edition. Pearson. ISBN: 9780134685991

Course Website:

  • Course information, lectures, labs, and assignments can all be found on our main course website: http://jenniferparrish.net 
  • We will also be using Canvas for assignment submission and other tasks.
  • We will use Zoom for office hours and exams.
  • We will use Piazza as a discussion forum where you can post questions and get help from the instructor, TA and other students.
    • Students are encouraged to use Piazza to ask questions rather than sending an email so that other students can benefit from seeing the answer.

Weekly Topics:

  • Week 1: Review of Methods, File I/O and Arrays. Array Search Algorithms.
  • Week 2: Array insertion and removal. Sorting an array.
  • Week 3: Multi-dimensional arrays. Array Lists.
  • Week 4: Classes and Objects.
  • Week 5: Static Methods and Variables. Inheritance.
  • Week 6: Abstract Classes. Polymorphism.
  • Week 7: Interfaces. Generics.
  • Week 8: UML Diagrams. Exception Handling.
  • Week 9: Exception Handling. Inner Classes. Linked Lists.
  • Week 10: Linked Lists. String Buffer and String Builder.
  • For more detailed information, please see course schedule

Communication Schedule:

  • To receive a same-day response to your email/Canvas message/Piazza post, please submit your questions to the instructor by the following times:
  • Mondays: 5:00pm
  • Tuesdays: 5:00pm
  • Wednesdays: 5:00pm
  • Thursdays: 5:00pm
  • Fridays: 5:00pm
  • Saturdays: (no responses)
  • Sunday: (no responses)

Important Dates:

  • Monday, April 13 - First Day of Spring Quarter 
  • Saturday, April 25 - Last Day to Add Quarter-Length Classes
  • Sunday, April 26 - Last Day to Drop for a Full Refund or Credit
  • Sunday, April 26 - Last Day to Drop with No Record of Grade
  • Friday, May 8 - Last Day to Request a Pass/No Pass Grade
  • Monday, May 25 - Memorial Day Holiday
  • Friday, June 5 - Last Day to Drop with a "W"
  • Monday, June 22 - Friday, June 26 - Final Exam Week

Class Atmosphere:

  • Most important: Students are expected to treat each other and the instructor courteously and respectfully.
  • Students are expected to behave professionally, both in terms of their demeanor in the online classroom and in terms of their approach to their assignments.
  • Students are expected to submit their work on time.
  • Students are expected to watch lecture videos and participate in class assignments and activities.
  • Students are expected to follow the De Anza Student Code of Conduct as outlined in the Online Student Handbook and by Foothill-De Anza Administrative Policies 5510 and 5520.

Netiquette

  • In the online classroom, students are expected to follow the core rules of Netiquette:
  1. Remember the human: If you wouldn't say something directly to someone's face, don't say it to them online.
  2. Adhere to the same standards of behavior online as in real life: If you would not do something in real life, don't do it online. Be ethical.
  3. Know where you are in cyberspace: Lurk before you leap to make sure you understand proper behavior for each website you visit.
  4. Respect other people's time and bandwidth: Remember that people are busy and that you are not the center of cyberspace. Keep your posts and questions short. Research your question for yourself before asking someone else.
  5. Make yourself look good online: Use proper language, grammar and spelling. Be sure you know what you are talking about before you say something.
  6. Share expert knowledge: If you know the answer to someone's question, answer it.
  7. Help keep flame wars under control: Don't perpetuate arguments or let your emotions get out of control.
  8. Respect other people's privacy: Don't snoop through other people's emails, or texts, or research people's personal information online.
  9. Don't abuse your power: Don't take advantage of other people if you have more knowledge or skills than they do or try to make yourself feel superior by making them look or feel bad.
  10. Be forgiving of other people's mistakes: Have good manners. Don't correct other people. If you must correct someone, do it in a private email.

Academic Success and Support Services:

  • If you have, or think you have, a disability in any area such as mental health, attention, learning, chronic health, sensory, or physical, please contact Disability Support Services (DSS) to arrange a confidential discussion regarding equitable access and reasonable accomodations.
  • If you are registered with DSS and have accommodations set by a DSS counselor, please be sure that your instructor has received your accommodation letter from Clockwork early in the quarter to review how the accommodations will be applied in the course.
  • Students who need accommodated test proctoring must meet appointment booking deadlines at the Testing Center.
  • Exams must be booked at least five (5) business days in advance of the instructor approved exam date/time.Final exams must be scheduled seven (7) business days/weekdays in advance of the instructor approved exam date/time.
  • For more information, please visit the Disability Program Support Services website or visit the DSS in the RSS Building, Suite 141, or call (408) 864-8753.

Plagiarism and Cheating:

  • The Student Code of Conduct states that plagiarism, in-class cheating, out of class cheating and furnishing false information are not allowed under any circumstances.
  • Any student found violating the Academic Integrity Section of the Student Code of Conduct will be confronted by the instructor.
  • Depending on the nature and extent of the violation, the student may receive a warning, may receive a lowered grade on the assignment or in the course, or may be failed on the assignment or in the course.
  • The student may also face administrative consequences, including being placed on disciplinary probation, being placed on disciplinary suspension, being expelled, or being subject to arrest and or heavy fines if the academic dishonesty offense violates state or federal law.
  • In brief: Cheating in any form is a serious matter and will not be tolerated.

Assignment Integrity:

  • You are expected to work alone on some assignments and with other students on other assignments as listed in the assignment specifications. When working alone, you must do all your own work. You may discuss assignments with other people, but ultimately you must write the code yourself. Not writing all the code yourself is cheating.
  • When working with others, the assignment specifies how you must contribute. Group work can accelerate learning, but only when each student takes responsibility for mastering all the assigned material. Little is learned if each student works only part of the assignment and merely copies answers for the rest.
  • If the assignment seems too hard to complete without more help, whether working in groups or not, then you should contact me. My job is to help you understand the material. As an option, you may discuss your assignment, and show your code to, another De Anza College Instructor if they agree. Note that this list does not include tutors. Tutors must follow the same rules for acceptable help as other non-students.
  • You may still help other students, and receive help from other students (or tutors), and I encourage you to do so. The following lists are intended to help clarify the rules about appropriate assistance for assignments:

Acceptable Help:

  • Showing others how to use or solve problems with computer applications such as compilers, text-editors and debuggers, or receiving such help.
  • Discussing problems and ideas for solving problems with other students or tutors.
  • Describing your algorithms to other students using diagrams, psuedocode or natural-language statements (unless that was the assigned homework).
  • Looking at another person's code and pointing out an error, as long as you do not write, type, dictate, or otherwise communicate the actual program code required by the assignment.
  • Tip: if you need to write code when explaining a problem, then use an example that is not part of the assignment.

Unacceptable Help:

  • Typing or writing any homework solution (or parts of a homework solution) for another person, or allowing someone to type or write a homework solution for you.
  • Looking at another person's homework code while typing or writing your homework code.
  • Listening to someone else dictate homework code while typing or writing, or dictating to someone else the homework code to type or write.
  • Providing a copy of your assignment solution, or any other person's solution, to anyone who is taking this course or might take this course in the future, including posting your solution online or emailing it to someone.
  • Receiving a copy of an assignment solution, or a part of a solution, from a former student of one of my classes or another student in this class until after you make a final submittal of your assignment and the due date has passed.
  • Uploading your work online for other students to view or viewing another student's or another person's work online, either during the quarter or after the quarter has ended.
  • These are not all-inclusive lists. Students are expected to interpret and apply the overall concepts of academic honesty in good faith. If you have questions about what is permissible, please ask me.
  • Also, note that these rules do not prohibit you from sharing assignment solutions with other students after after both you and the other student have made a final submission of the assignment and the due date has passed. Reviewing other people's solutions can help you learn, but it is cheating unless you have already completed the assignment on your own.

Attendance Policies:

  • The instructor reserves the right to drop you from the course if you miss any of the assignments or quizzes in the first two weeks of class.
  • The instructor reserves the right to drop you from the course if you miss the equivalent of two weeks (4 lessons) worth of assignments and quizzes.
  • However, it is responsibility to drop yourself. Do not count on the instructor dropping you.

Grading Policies:

  • Grading is done by a point system, combined with a percentage scale, to determine the final grade.
  • Percentage of grade that contributes to overall final grade for each component:

10%     Activities
15%     Lab Assignments
  5%     Participation
  5%     Weekly Quizzes
30%     Midterm Exams (2 Exams)
  5%     Final Project
30%     Final Exam

  • Grades will be assigned as follows:

97.0 - 100%     A+
93.0 - 96.9%    A
90.0 - 92.9%    A-
__________________
87.0 - 89.9%    B+
83.0 - 86.9%    B
80.0 - 82.9%    B-
__________________
77.0 - 79.9%    C+
70.0 - 76.9%    C
__________________
67.0 - 69.9%    D+
63.0 - 66.9%    D
60.0 - 62.9%    D-
__________________
0.0 - 59.9%     F

Assignments and Late Policies:

Activities (10%):

  • You will be expected to turn in activities on Tuesdays and Thursdays at 11:59pm.
  • Late activities will be accepted up to 2 days late, with a 10 point penalty for each day that the activity is late.
  • These activities will be short programs practicing the skills that you just learned.
  • All activities must be turned in on Canvas. Once the activity is closed on Canvas it can no longer be completed
    • No activities are accepted by email or Canvas messenger.
  • Additionally, I will drop the two lowest activities scores at the end of quarter (i.e. they will not be calculated as part of your final grade).
  • Activities should be completed individually (without a partner).
  • Activities are graded on effort, not on correctness.

Labs (15%):

  • Labs are homework assignments worth 100 points each.
  • They will be assigned on Mondays and due the following Monday at 11:59pm.
  • However, labs will be accepted up to 2 days late, with a 10 point penalty for each day that a lab is late.
    • Labs submitted after 11:59pm on Monday up until 11:59pm on Tuesday will receive a 10 point penalty. In other words, I will subtract 10 points from your final lab score.
    • Labs submitted after 11:59pm on Tuesday up until 11:59pm on Wednesday will receive a 20 point penalty. In other words, I will subtract 20 points from your final lab score.
  • No late labs will be accepted by email or in office hours. Once the lab assignment has closed on Canvas, it can no longer be submitted (no exceptions!).
  • All Labs must be completed with a partner, following the rules of pair programming, which will be provided as part of this course.
  • Labs are graded on correctness.

Participation (5%):

  • Weekly participation is required in this course.
  • Twice a week, you will be assigned practice exam questions -- one set of questions for each of the two weekly lessons -- and you will be asked to grade the practice exam question responses of other students in the class.
  • Answers to the questions will be due Tuesday and Thursday at 11:59pm, respectively, on Canvas.
  • Grading of the questions will be due the subsequent Saturday at 11:59pm on Canvas.
  • No late practice exam questions will be accepted - no exceptions!

Quizzes (5%):

  • Once per week, there will be a short quiz covering material from the past week's lectures and homework assignments. 
  • The quiz will be provided online on Canvas, and can be taken as many times as the student desires until the deadline.
  • The last quiz taken will be the score that the student receives.
  • Quizzes will open on Monday and will be due Friday night at midnight.
  • No quizzes will be dropped at the end of the quarter.
  • No late quizzes will be accepted - no exceptions!

Midterms (30%):

  • Midterm exams must be taken on Canvas on the given dates and times:
    • Midterm 1: Wednesday, May 13 from 9:30am-10:30am
    • Midterm 2: Monday, June 8 from 9:30am-10:30am
  • All exams dates are written on our course schedule to give students sufficient notice.
  • In the case of illness or emergency, and at the instructor's discretion, a student who must miss a midterm will have their final exam score substituted for the missed midterm. This policy only applies to one missed midterm only.
  • To take advantage of the missed midterm policy, you must contact the instructor by email before the midterm begins to receive permission. If I do not receive an email from you, you will get a 0 on the midterm.
  • Students will need to have access to Zoom, Canvas and the Proctorio app for Canvas during the exams.
  • Students must show their photo ids to be allowed to sit for the exams.
  • Students will be required to use Proctorio on exams.
    • You must use Proctorio, or you will not be allowed to take the exam.
    • You must have a webcam and microphone attached to the computer on which you are taking the exam, otherwise you will not be allowed to take the exam.

Final Project (5%):

  • A final course project using the skills you have developed in this course will be due at the end of the quarter.
  • You will work on this project on teams of 4-5 people.
  • Important: All team members must be present to demonstrate the project in a video presentation, due the last week of the quarter.

Final Exam (30%):

  • The final exam must be taken on the date and time stated in the course catalog:
    • Monday, June 22nd from 9:30-10:30am
    • No makeup final exams will be offered. No exceptions!
  • Students will need to have access to Zoom, Canvas and the Proctorio app for Canvas during the exam.
  • Students will be required to use Proctorio on exams.
  • You must use Proctorio, or you will not be allowed to take the exam.
  • You must have a webcam and microphone attached to the computer on which you are taking the exam, otherwise you will not be allowed to take the exam.
  • You will be required to show your photo ID to be allowed to sit for the exam.

~ Have a Great Quarter! ~