CS 143 Computer Science II Java

Winter 2019 Syllabus

My goal is to mentor you to be a successful computer scientist with strong Java programming skills. This syllabus lays out the course expectations and contents in clear detail.

Item
4091
Catalog
Solving problems using object-oriented programming techniques and basic data structures; design and analysis of algorithms particularly in the context of searching and sorting.
Prerequisite
CS& 141 with a grade of 2.0 or better. See also Technical Expectations
Credits
5
Course Outcomes
By the end of this class, students should be able to:
  • Describe and effectively use object oriented programming techniques
  • Describe and implement different data structures and analyze the costs and advantages of each
  • Describe and implement basic searching and sorting algorithms and analyze the costs and advantages of each

CS 143 meets the OC Core Ability of Thinking.

Textbook
Building Java Programs, 4th edition, Reges & Stepp. ISBN 978-013-432276-6 (BJP4)
Optional Material
  • a 16GB flash drive or cloud storage
  • a reliable, high speed Internet connection; a home PC or laptop; headphones and webcam.
Course Format
This is a ground course: attendance and participation are expected and part of your grade; class may be recorded for review, but should the recording fail, no re-make will be done.
Class Dates
2 Jan - 15 Mar (holidays 21 Jan, 18 Feb; also no class 15 Feb)
Class Meetings
When: Monday, Wednesday, Friday 2-3:24
Where: ST-123
Midterm
Monday Feb. 11, 2-3:24pm
Final
Wednesday Mar. 13, 2-4pm

πŸ‘“ Instructor Information

Office Hours

TEC-205A (Bremerton)

Mon & Wed 12:30-1:30 on-campus, slack, or Zoom

Also by arrangement at other times

Ask Course Questions...

On the course slack channel, CS143w19.slack.com

Help your peers; I also monitor and respond within one class day.

Email or Canvas?

Send Canvas messages, but if you can't get to Canvas you can use email; put CS 143 in the subject and send it from your student email.

Expect a response by the next class day.

πŸ“ˆ Assessment

Your grade is computed by a weighted average of your work on Homework, Sections, the Midterm, and the Final as follows:

  • Homework: 8 @ 20 = 160, 30%
  • Participation 10%
  • Midterm 20%
  • Final 40%

See chart below for details of how grades are distributed. If your percentage is below 60% points, a grade of 0 will be reported unless you explicity request a WP. Both a 0 and a WP require reporting last day attended; for this course, the last day work was submitted for grading is reported as the last day attended.

If you do not complete the first week's activities for the course, you will be administratively withdrawn from the course. Completion of those activities is used to measure initial attendance.

Even with sufficient points, you may be administratively withdrawn from class if you do not demonstrate participation for two or more consecutive weeks.

See chart below for details.

Letter GPA Percent Qualitative Definition
A 4.0 95% Superior course outcomes mastery
A- 3.7 92%
B+ 3.3 86%
B 3.0 83% Exceeds acceptable course outcome mastery
B- 2.7 80%
C+ 2.3 76%
C 2.0 73% Acceptable course outcomes mastery
C- 1.7 70%
D+ 1.3 66%
D 1.0 63% Minimum course outcomes mastery
D- 0.7 60%
F 0.0 < 60% Failure to master course outcomes

Points on work submitted on-time are posted as soon as possible, usually within 7 days of the due date; a bit more during exams or if our schedules gets impacted. Our goal is to give reasonable feedback to as many students as possible in the shortest time possible. If I have a larger than normal grading load, I will notify you of any delays in grading. See Policies for information on getting assistance, submitting work, academic honesty and more.

Monitor your course progress and see what you have submitted by clicking on "Grades" on the course navigation on the course website.

πŸ“… Schedule

Module Item Points Due
Module 1: Java Reboot and JUnit Syllabus, BJP4: 1-9, 10.1, 15.1-15.2, and Canvas Reading 01/02-01/07
Homework 1: LetterInventory 15 1/9
Discussion: LetterInventory Style 5 1/9-13
Module 2: Interfaces, Stacks & Queues BJP4: 9.5, 10.1, 11.1-11.2, and 14 1/9-1/11
Homework 2: Rock Star 20 1/16
Module 3: Linked Lists BJP4: 16.1-16.4 1/14-1/18
Homework 3: Taco! 20 1/23
Module 4: Efficiency, Sets & Maps BJP4: 11.1-11.3, 13.1-13.3, and Canvas reading 1/23-1/25
no class 1/21
Homework 4: Slippery Hangman 20 1/30
Module 5: Recursion BJP4: 12.1-12.4, 13.4, and Canvas reading 1/28-2/1
Homework 5: The Monkey's Typewriter 20 2/6
Module 6: Inheritance, MergeSort BJP4: 9.1-9.2, 13.4 2/4-2/6
Midterm
Modules 1-6 covered
In-class portion 10% 2/11 2-3:24pm
Take-home portion 10% 2/11
Module 7: Recursive Backtracking
Note this overlaps with the Midterm
BJP4: 12.5 2/8-2/13
no class 2/15
Homework 7: Word Twister 20 2/20
Module 8: Binary Trees, Comparable BJP4: 10.2 and Ch. 17; Canvas reading 2/20-2/25
no class 2/18
Homework 8: Hot or Cold? 20 2/27
Module 9: Huffman encoding BJP4: 9.3, 18.1, 18.2; and Canvas reading 2/27-3/1
Homework 9: Secret Messages 20 3/6
Module 10: IntList case study, hashing BJP4: 15.3, 17.5, 18.1 3/4-3/8
Final In-class portion 20% 3/13 2-4pm
take-home portion 20% 3/13

See the Canvas Course or your Canvas Calendar for the current schedule of assignments.

Each class meeting is about 1.5 hours -- we will have about 50 minutes of lecture each day, so there is plenty of time for questions and hands-on activities. Participation is required. Do the reading, videos, and activities prior to class. We will use part of our class time to have student-led coding, where a student will walk the class through code.

See more detailed rubrics for Class Activities, Homework, and Exams in the course shell. Class activities are graded on effort and participation, while Homework is graded on results and style.

The programming Homework assignments are expected to take 4-10 hours; you will compile a debrief report to submit with your source code, reporting the length of time you took and the issues you ran into. I recommend getting an early start so that you have time to seek help from the tutors and me, or finding outside resources to aid your understanding of the material and finding a solution.

If you have a serious circumstance making you unable to attend the Midterm or Final Exam, let me know two weeks prior to the exam so that an alternative can be arranged. Exams will be partly take-home and partly in-class. In-class exams are closed-book and closed-computer; you will be writing solutions out on paper. I strongly recommend doing a dry run with the provided sample exams.

πŸ’Ό Philosophy

It is my role to help you understand the course material. I do that with class/recorded presentations, mentoring sessions during office hours, and feedback on assignments. My best advise to you is Ask Questions. I will show you how to use course resources to find answers, and be a resource when those aren't sufficient.

This class, like most programming classes, builds on itself — so it is important to read assignment feedback and internalize it, to allow you to improve in the next assignments. It is also important to keep up with the flow of the class, as once you fall behind it takes even more effort to catch up.

πŸ’» Technical Expectations

We will be introducing data structures and algorithms in this class; to do that, we will be using Java, jGrasp, file managers, zip files, websites, and a variety of other tools. You are expected to know how to use a PC, Java, jGrasp, and a web browser, how to make a zip file and a plain text file, and to have competent keyboarding skills.

If you are working at home, you will need to have the ability to install software on your PC and have regular Internet access for completing and submitting coursework. Generally, a MAC can be used, but since I do not have one, I cannot troubleshoot MAC-specific issues.

Please develop a backup plan in case issues arise with your equipment, software, or Internet access that might affect your ability to participate in this class. Computer or software issues do not change due dates.

You are expected to satisfy the technical expectations by the first day of the quarter as we begin right away.

β˜• How to Succeed

Doing these nine things can help you succeed in this course:

  • Complete assigned reading prior to attending class or viewing recordings to fully participate.
  • Contribute to the class by engaging in discussions in class or on our slack channel.
  • Set up a plan and actively pursue each course milestone to ensure you complete your assignments on time.
  • Stay current with course materials and observe, read, experiment, and otherwise absorb course content.
  • Demonstrate a level of engagement through careful listening and attention to details and due dates.
  • Apply a professional level of verbal and written communication, with proper spelling, grammar and punctuation.
  • Take ownership of your learning, and deliver quality work worthy of portfolio content.
  • Maintain access to sufficient equipment and internet bandwidth to complete course work.
  • Seek help immediately when problems or challenges arise.

πŸ“œ Policies

  1. Ask for help — it's really okay!

    First, if you need help, get help early and often — if you wait it can become too late. Start assignments early and be proactive. The tutors and instructor are all available to help you.

    If you need assistance or are having problems in this class, please visit with me in person or online during office hours so we can discuss your options. I am available outside of office hours as well, by arrangement. The best way to contact me electronically is to use your Canvas Inbox. I monitor Canvas throughout the week during the term, 9am-7pm, less on evenings, weekends and holidays.

    If you do contact me through Canvas for help - please give a clear subject and sufficient detail, for example, by attaching the source code file in question to the message and explaining what is happening.

    You can expect a response from me to your Canvas Inbox message within one school day; do not expect a reply on weekends, breaks, or holidays. If you do not get a response in that timeframe, resend your message and check the to: address to ensure it is going to the appropriate person.

    If we need to use email, you must use your Olympic College email account. Email from non-olympic.edu addresses will be ignored per OC policies. More information on OC email student accounts can be found at: https://www.olympic.edu/services/computer-labs/accounts. Please ask for help in an OC lab if you have not been able to access your OC email account.

    If for some reason you have to use email (Canvas is preferred), the subject line of your email must include the class, your name, and the topic, like so: CS 143 | Jane Jones | jGrasp won't run JUnit tests. Email messages with that subject line format will be responded to within one school day during the term. Other subject lines may not be noticed until I am catching up on older emails.

    For help with coursework, there are Programming and CIS tutors. You may attend or call in during the CIS Programming Tutor Sessions. The CIS tutor information will be available at Tutoring Services. Please only contact the tutors during their open lab time. They are students too, and need time for their own studies when not tutoring.

    The role of the tutors is to assist the student during tutor sessions in general approaches to problem solving, internalizing core concepts, and understanding constructs of a particular language. Tutors may review homework only to determine which topics require additional attention or review by the student so that they can be successful. Do not show your work to your classmates, even if they are tutors. Tutors and other individuals are not allowed to directly provide any part of a solution to a home work assignment. The work must be the student's own. Tutors are required to report students that request help outside of tutoring hours or that request help directly completing a home work exercise to the instructor for the course they are seeking help with.

    If you need help outside of class material, there are a wide variety of resources available to you. See Student Services and also Counseling Services for assistance.

  2. Etiquette/Netiquette — act my age

    In person and online, students and instructors will act in a professional manner. This includes that we all use standard professional English, be tolerant of others’ views, be respectful in dealing with others, and show common courtesy, both written and verbal. Remember that capitalization and exclamation points are considered yelling, and swear words and texting lingo are not professional. Ask first if you are not sure if your words are offensive.

    Violations of this policy may result in lowering of an assignment grade or your overall course grade, reporting the violation to student services, or administrative withdrawal from the class. WAC 132C-120-065 specifies particular prohibited student conduct including academic dishonesty, plagiarism, cyber misconduct and other prohibited conduct. Disruptive behavior is not tolerated in the classroom or online; see WAC 132C-120-076.

    For ground classes, refrain from the following during class time: talking over other people, using the computer for non-class activities, doing homework rather than paying attention, whispering to your neighbor, smartphones, gadgets, guests, eating, sleeping, or other disturbances to the class unless an alternative class mode of conduct is in effect.

  3. Effort — you get out what you put in

    New concepts tend to build on previous concepts rather than stand on their own. If you have to delay your progress in this course, I suggest you catch up quickly and network with other students to get on track as soon as possible (days, not weeks). Utilize office hours and the tutors to ask for assistance.

    Students are expected to have the course textbook and satisfy the technical expectations on or before the start of class. Any requested reading or activity should be completed before the first class day of the module, so that the student can better participate in discussions and use lab time effectively. Not having the textbook and not being prepared will not be an acceptable excuse for not being able to participate in class or to turn in assignments on time unless there is a textbook acquisition issue with the OC bookstore (OC Bookstore Web site). If there are no books on the shelf, please consult a staff member. Do not assume the bookstore is out of textbooks.

    By taking this course, you are stating that you will be making appropriate time in your schedule to ensure success and have access to the resources required for this class. Expect to spend about 3 hours per week for each class credit to ensure success. For a 5 credit class this is 15 hours of class work per week. If you review class readings several times, expect to spend additional time. Being a full-time student is a full-time job, with 15 credits there are easily 40+ hours per week in class and study time. Planning is key.

    Remember: You are responsible for your learning. You may be administratively withdrawn from course if you do not demonstrate participation within the first week of the term. Participation in the first week is measured by attendance, access to the Canvas course, and timely completion of the activities. You need to invest regular, consistent time to succeed in this course.

    Time management is your friend or your foe! Waiting until the evening of the due date to ask a question of an assignment will not provide success in this course. You may not get a response before the due date. That is your responsibility, you alone are responsible for your late start. Start assignments early and be proactive.

    At the end of the day, you need to make the choices to maximize your learning.

  4. Due dates — set aside time before!

    Assignments are due on time, the date for each is given on the course Canvas site. Online postings are due by 11:59:00 p.m. of the due date or they will not be accepted. See the Late Work policy for late submissions. If Canvas marks a submission as late, it is late. You can post assignments prior to their due date, however manual grading is typically done once the due date is past. Please do not wait until the last minute to post your work — expect connectivity issues with Internet access and plan accordingly. Especially if you are uploading large files, you will need to start the upload early, and leave time for your backup plan if you should lose internet connectivity during the upload. All assignments must be posted by 11:59:00pm of the due date listed for a given item using the appropriate posting for a given assignment to be considered as on-time. Any assignment not submitted by that time will be considered late. Do not wait until the last minute to complete or upload your assignments; that will not be excused. Note: e-mailed assignments will not be accepted for grading unless specified as part of an assignment or previously approved.

    When assignments are posted in Canvas, they will tell you if it succeeded or failed. I strongly recommend returning to the course page in another browser window to verify that the Submission was successfully completed to the correct assignment and contained what you wanted to submit. Since little or no paper is used in the course, your only documentation that you posted an assignment is the successful completion of a submission on Canvas. Please save your files and make screenshots of the successful submission. Keep them safe in the event of a system failure and/or loss of postings at the course Web sites. To date, loss of data is rare but can happen since we are using the Internet for transmitting data and software to save it at the far end. If issues do arise, one of the first things I may ask to see is your submission confirmation. Without a submission confirmation for an assignment, in the correct course assignment, you may receive 0 points for an assignment.

    All directions must be followed for your submission to be accepted for grading. Follow the directions provided in the assignment to ensure all naming conventions, files requested, information requested, and formats requested are provided.

  5. Late Work — keep up, catch-up is difficult

    Each assignment will list its due date. Each student receives 5 total β€œgrace days” for use on homework assignments. Note, no homework assignment can be more than 3 days late. A grace day allows you to submit a program up to 24 hours late without penalty. For example, you could use 2 grace days and submit a program due Wednesday on Friday with no penalty. Once a student has used up all the grace days, each successive day that an assignment is late will result in a loss of 10% on that assignment. Regardless of how many late days you have, you may not submit a program more than three days after it is due or after the last day of classes. The final day late work is accepted is the last class day of the quarter (Monday, March 11th).

    If you have a one time event that is a serious illness or accident, or emergency service or active duty for you, your parent, your spouse, or your child, the late policy may be waived and an individual due date determined for an assignment. You must make your request through Canvas at least one full day before the assignment is due for a late policy waiver or have verifiable proof of your inability to make the request by that time. Vacations, colds, or other discretionary activities will not be accepted. On-going or pre-existing situations can not be used for reasons for late work as they were known constraints at the start of the course.

    A late waiver is a one-time, one-assignment event, and any excused late work will not transfer to additional assignments. You will need to catch up with the course schedule and continue on time. If for some reason you cannot catch up, you can contact Registration & Records to withdraw; it is not sufficient to tell me that you are withdrawing.

    Accepted late waivers will be graded at the discretion of the instructor both for points as well as to when the assignment will be graded.

    Occasionally I will request that an assignment be redone in whole or in part because it appears that the learning outcomes may not have been met regarding that assignment. A redo is requested in the Comments section of the assignment along with the current grade, with a window in which it will be accepted. If not submitted in that window, the redo will not be graded and the original grade will stand. Redo assignments are a courtesy and not a right. Repeated redo's are generally not offered. Redo work will be graded at the discretion of the instructor both for points as well as to when the assignment will be graded.

  6. Withdrawing — if you need to drop the class

    If you wish to withdraw from this course, please file the appropriate paperwork with the Office of Registration and Records and then inform me of your decision. If you are still in the gradebook at the end of the term, your computed grade with 0's for unsubmitted work will be used unless you have been in contact with me previously to make other arrangements or you were administratively withdrawn for non-attendance. It is your responsibility to contact Registration and Records, otherwise you remain enrolled in the course.

  7. Academic honesty — this is a big deal!

    No academic dishonesty will be tolerated, see WAC 132C-120-065. Academic dishonesty includes cheating, plagiarism, fabrication, and facilitating academic dishonesty. Facilitating academic dishonesty includes providing your own work to someone else for their solution; do not put the tutors or your classmates in this situation, they cannot provide you with solutions, only guidance and explanations. When you work with the tutors, you cannot ask them to provide you with correct syntax and solutions, they can only guide you with concepts and resources. You need to develop and internalize the solution yourself.

    Evidence of academic dishonesty will result in a forfeiture of points for an assignment and will be reported to student services. Continued violations may result in a student being assigned a WF, 0.0, or administratively withdrawn from this course.

    Unless otherwise noted your assignments are individual assignments and your work must be your own. At any point during the term, you should be able to explain or duplicate any of your solutions for your assignments. You may be asked to do so if plagiarism is suspected.

    Please note: cut and paste of another's words or code is plagiarism. Quoting words in a limited amount with a citation noted on the quote is permissible unless explicitly requested otherwise. Using someone else's code is not permitted, this course is about developing your own coding skills. Your uncited words and code must be your own.

    You are to complete assignments individually. You may discuss the assignment in general terms with other students including a discussion of how to approach the problem, but the code you write must be your own. The intent is to allow you to get some help when you are stuck, but this help should be limited and should never involve details of how to code a solution. You must abide by the following:

    • You may not work as a partner with another student on an assignment unless explicitly assigned.
    • You may not show another student your solution to an assignment outside of an assigned peer review.
    • You may not have another person (current student, former student, tutor, friend, relative, anyone) "walk you through" how to solve an assignment.
    • You may not post your homework solution code online to ask others for help or in a public place. This includes public message boards, forums, file sharing sites and services, public web sites, or any other online system.
    • You are not to examine online solutions that you might find on the web. Should you find one, close your browser, do an alternative activity for at least an hour, and do not revisit the site again while working on your assignment.

    Under our policy, a student who gives inappropriate help is equally guilty as one who receives it. Instead of providing such help, refer other students to class resources (lecture examples, the textbook, the tutors, or the instructor). You must not share your solution and ideas with others outside of peer reviews. You must also ensure that your work is not copied by others by not leaving it in public places, emailing it to others, posting it on the web, etc. The MESH office has a shred box — I recommend you use that if you have printed out code.

    We enforce this policy by running similarity-detecting software over submitted student programs, including programs from past quarters and other sources.

  8. Course Material — remove all traces

    At the end of the quarter, please delete all media (videos, images, files, or other media) provided in the class for instructional purposes to be in compliance with Title 17 of the United States Code Β§ 110(2) governing the use of "fair use" of copyrighted materials outside of a classroom setting. Assume all material is copyrighted unless otherwise noted.

  9. Internet Safety — be careful out there!

    It is your responsibility to be aware of the impact of your actions when using the internet, with respect to managing your privacy, using the information you access, and maintaining machine security. For more information on this topic, see Thinking about Online Safety.

  10. Special requests — keep a trail

    All special requests must be requested through Canvas to develop an electronic trail even if we have a face-to-face conversation. After such a conversation, send me a message on Canvas or your OC email right away to document what was discussed and to create an electronic trail of the conversation. It is your responsibility to send that follow-up message through Canvas or OC email.

  11. WAC Regulations — it's the law

    Please review Olympic College's WAC 132C regulations. Washington Administrative Code (WAC) 132C is Washington State law and governs the behavior of the administration, faculty, and students. Laws for student conduct and academic honesty, in 132C-120 WAC: Student Conduct Code, are always followed in this class. Chapter 132C-120-065: Prohibited Student Conduct deals with issues of academic dishonesty, plagiarism, cyber misconduct and other prohibited conduct.

🌎 Equity

Olympic College provides equal opportunity in education, employment and college activities regardless of race, color, national origin, age, perceived or actual physical or mental disability, pregnancy, genetic information, sex, sexual orientation, gender identity, marital status, creed, religion, honorably discharged veteran or military status, use of a trained guide dog or service animal, or any other unlawful basis. If you witness or encounter any such discrimination, including any sexual misconduct, you are encouraged to report it to the Title IX Coordinator, Cheryl NuΓ±ez (CSC 317A; 360-475-7125; cnunez@olympic.edu) or the Equal Employment Opportunity Officer, David Slown, Executive Director for Human Resource Services at dslown@olympic.edu/306-475-7300, who will assist you in connecting with all possible resources. You may also report it online (and anonymously) at Report It, OC! or seek confidential counseling from Counseling Services at 360-475-7530 or at HSS 203. See also https://www.olympic.edu/nondiscrimination-title-ix.

πŸ•ŠοΈ Faith or Conscience Absence

Student Absences for Reasons of Faith or Conscience, OC Policy 300-03: Under this Policy, OC students may request absences from classes two (2) days per academic year for reasons of faith or conscience without adverse impact on their grades. A request for absence must be submitted 21 days in advance of the absence or as soon as reasonably possible. Find the required form β€œStudent Absence Form: Reasons of Faith or Conscience” in order to request the absence. Upon verification of the absence, notify instructors so that they may develop adjustments for assignments and tests.

πŸ––πŸ» Accessibility Accomodations

Any student who feels they may need an accommodation based on the impact of a disability or a medically necessary absence due to pregnancy or childbirth should contact the Access Services office in HSS 205, by email at AccessServices@olympic.edu or by phone at (360) 475-7540. More information may be found on the Access Services website. Access Services must be contacted at least two weeks before the accomodation is needed.

Please contact me via Canvas or see me during office hours concerning your accommodation request(s) after you have submitted them to Access Services, so I can meet your needs in class.

Note that about 10% of all OC students have some type of disability, often invisible (like PTSD or asperger syndrome). As instructors, we cannot disclose a student's disability. The decision to share with others is a choice of the student.