Course Syllabus

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

  • Winter Quarter, 2020
  • CRN# 34090

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

Contact Information:

  • Email: parrishjennifer (at) fhda (dot) edu
  • Office Phone: 408-864-8947

Office Location:

  • Building F5, Room 1F

Office Hours:

  • Mondays 8:30am-9:20am (F5-1F)
  • Mondays 5:00pm-6:15pm (online)
  • Tuesdays 10:30am-11:20am (F5-1F)
  • Tuesdays 5:00pm-5:25pm (online)
  • Wednesdays 11:30am-12:20pm (F5-1F)
  • Wednesdays 5:00pm-6:15pm (online)
  • Thursdays 5:00pm-5:25pm (online)

Course Teaching Assistant:

  • Uriel Garcia
  • Mahbod Mohebi
  • Andrew Nowinksi

Online Lab:

  • There is an online lab portion to this class which will require you to complete a large assignment by Monday at 9:20am.
  • The instructor will be online and available by email on Mondays and Wednesdays at the above times to answer any questions you may have about the lab.
  • However, you are not required to do your lab during this time. All lab assignments will be assigned on a Monday and due the following Monday at 9:20am.

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.

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: Classes and Objects.
  • Week 6: Static Methods and Variables. Inheritance.
  • Week 7: Abstract Classes. Polymorphism.
  • Week 8: Interfaces. Generics.
  • Week 9: UML Diagrams. Exception Handling.
  • Week 10: Exception Handling. Inner Classes. Linked Lists.
  • Week 11: 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, please submit your questions to me by the following times:
  • Mondays: 5:00pm
  • Tuesdays: 5:00pm
  • Wednesdays: 5:00pm
  • Thursdays: 5:00pm
  • Fridays: 3:00pm
  • Saturday (no email responses)
  • Sunday: 3:00pm

Important Dates:

  • Monday, January 6 - First Day of Winter Quarter 
  • Saturday, January 18 - Last Day to Add Quarter-Length Classes
  • Sunday, January 19 - Last Day to Drop for a Full Refund or Credit
  • Sunday, January 19 - Last Day to Drop with No Record of Grade
  • Monday, January 20 - Martin Luther King Holiday - Campus Closeds
  • Friday, January 31 - Last Day to Request a Pass/No Pass Grade
  • Friday, February 14 - Monday, February 17 - Presidents Day Holiday - Campus Closed
  • Friday, February 28 - Last Day to Drop with a "W"
  • Monday, March 23 - Friday, March 27 - Final Exam Week

Class Atmosphere:

  • Students are expected to treat each other and the instructor courteously and respectfully.
  • No Attitudes Allowed!
    • In the classroom, we are all here to learn. Please behave in a way that facilitates your own learning as well as the learning of your fellow students.
    • Check your ego at the door.
    • Avoid distracting others when the instructor is giving the lesson or during the in-class activities.
    • Encourage and support those around you.
    • Encourage and support yourself - be nice to yourself if you make a mistake.
    • Help students seated near you if they are struggling.
  • Students are expected to behave professionally, both in terms of their demeanor in class and in terms of their approach to their assignments.
    • Turn off and put away your cell phones while in the classroom.
    • Turn off the screens in front of you during lecture and focus your attention up front.
    • Be quiet and attentive when the instructor or your classmates are speaking.
    • Participate in the in-class activities
    • Do your best to be on time. If you must be late, please enter the room quietly.
  • 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.

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 the equivalent of 2 weeks of the course (4 classes missed).
  • However, it is responsibility to drop yourself. Do not count on the instructor dropping you.
  • Attendance will be taken at each class, but will not count towards your final grade.

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%     In-Class Assignments (submitted as part of each class - attendance is important!)
15%     Lab Assignments
  5%     Practice Midterm Questions
  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:

  • You will be expected to turn in activities during class time.
  • These activities will be short programs practicing the skills that you just learned.
  • These activities will be due in class, up until 25 minutes after class is over, unless otherwise announced.
  • All activities must be turned in on Canvas by the stated deadline.
  • However, there is a one-time exception to the late activity policy.
  • Students may turn in one class day's worth of in-class activities up to one week late.
  • In order to take advantage of this offer, you must visit the instructor during in-person office hours in F5-1F.
  • No late work will be accepted by email! 
  • No work that is more than one week late will be accepted.
  • To receive credit, students will need to run the program(s) for the instructor and sign the 1X late sheet.
  • Note that no late activities will be accepted after the last office hour of the quarter on Wednesday, March 18 from 11:30am-12:20pm. Please plan accordingly!
  • 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).

Labs:

  • Labs are homework assignments worth 100 points each.
  • They will be assigned on Mondays and Wednesdays, and it is expected that the student is working on the labs throughout the week.
  • The lab assigned on Monday will be due Thursday at 11:59pm, and the lab assigned on Wednesday will be due the following Monday at 9:20am (before class).
  • However, labs will be accepted up to 2 days late, with a 10 point penalty for each day that a lab is late.
  • For labs that are due on Thursdays:
    • Labs submitted after 11:59pm on Thursday up until 11:59pm on Friday 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 Friday up until 11:59pm on Saturday will receive a 20 point penalty. In other words, I will subtract 20 points from your final lab score.
  • For labs that are due on Mondays:
    • Labs submitted after 9:30am on Monday up until 9:30am on Tuesday will receive a 10 point penalty. In other words, I will subtract 10 points from your final lab score.
    • Labs submitted after 9:30am on Tuesday up until 9:30am 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!).
  • With the exception of Lab 1, all Labs must be completed with a partner, following the rules of pair programming.

Practice Midterm Questions

  • Twice a week, you will be assigned practice midterm questions -- one set of questions for each of the two weekly lessons -- and you will be asked to evaluate the review question responses of other students in the class.
  • Answers to practice midterm questions will be due Mondays and Wednesdays at 9:20am, respectively, on Canvas.
  • Grading of review questions will be due the by the following class (Monday or Wednesday) at 9:20am.

Quizzes:

  • 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.

Exams:

  • Midterm exams must be taken in class on the date given.
  • 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.
  • The final exam must be taken on the date and time stated in the course catalog. No makeup final exams will be given.
  • You must pass the final exam to pass the class.

Final Project:

  • 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 3-4 people.
  • Important: All team members must be in class to present the project on the last day of the quarter in order to receive credit for the project.

~ Have a Great Quarter! ~