Syllabus
Table of Contents
- Logistics
- Overview
- Inclusion
- Course Components
- Remote Learning
- Getting Help
- Grading
- Collaboration & Academic Misconduct
- Optional Course Activities
- Guidance to Student Outside the US
note: all times on this website are listed in PDT (local time in Seattle). You can use this page or Google to convert times to your local time zone.
Logistics
Teaching Staff
- instructor: Omar Ibrahim (oibra@cs.washington.edu)
- course administrator: Pim Lustig (cse142@uw.edu)
Pim is your best resource for registration questions such as obtaining add codes, switching sections, or changing to or from S/NS grading. - course staff
Class Sessions
All course meetings will be conducted via Zoom, MWF 12:00 PM - 1:00 PM PDT.
Other
- Canvas course
- Ed course
- optional desktop software
- optional textbook: Building Java Programs by Reges/Stepp (5th edition)
Overview
This course provides an introduction to programming using the Java programming language. We will explore common computational problem-solving techniques useful to computer scientists, as well as anyone with other needs for computation; working with large data sets, repetitive processes, etc.
No prior programming experience is assumed, although students should know the basics of using a computer (e.g., using a web browser and a text editor) and should be comfortable with math through Algebra 1.
Students with significant prior programming experience should consider skipping CSE 142 and taking CSE 143. (No special permission is required.)
By the end of this course, students will be able to do the following:
- write functionally correct Java programs that solve a specified problem and/or meet a provided specification
- break down problems into subproblems that are modular and reusable, and define methods to represent those subproblems
- select and apply control structures (e.g. methods, loops, conditionals) to manage the flow of control and information in programs
- select and apply basic data abstractions (e.g. variables, parameters, arrays, classes) to manage and manipulate data in programs
- define programs that are well-written, readable, maintainable, and conform to established standards
- identify and fix bugs and errors that occur during the development process
- identify and utilize resources to help overcome difficulties or resolve errors in developing programs
Inclusion
All students are welcome in CSE 142 and are entitled to be treated respectfully by both their classmates and the course staff. We strive to create a challenging but inclusive environment that is conducive to learning for all students. If at any time you feel that you are not experiencing an inclusive environment, or you are made to feel uncomfortable, disrespected, or excluded, please report the incident so that we may address the issue and maintain a supportive and inclusive learning environment. You may contact the course staff or the CSE academic advisors to express your concerns. Should you feel uncomfortable bringing up an issue with a staff member directly, you may also consider sending anonymous feedback or contacting the UW Office of the Ombud.
The Association for Computing Machinery (ACM) recently released guidelines of expected behavior as part of their Policy Against Harassment at ACM Activities. The ACM's description of expected behavior is as follows:
- Exercise consideration and respect in your speech and actions
- Refrain from demeaning, discriminatory, or harassing behavior and speech
- Be mindful of your surroundings and your fellow participants
- Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this policy, even if they seem inconsequential
ACM's policy also has a detailed description of unacceptable behavior on the same page.
Course Components
Lectures
Lectures will typically be your first introduction to new concepts. Although we do not take attendance, students are expected to attend all required lectures and will be held responsible for all material (including administrative announcements) presented. If you are unable to attend class, you are expected to view the recording (all lectures will be recorded and posted on the course site within 24 hours, and on the same day as often as possible).
It is not expected that students will have mastered the material by the end of each lecture -- mastery requires practice. To encourage students to participate actively in their learning, we will be using PollEverywhere polls in class. These polls are an opportunity to solve problems that help you check your understanding and are not graded.
Sections
All students are assigned to a section, held at various times on Thursdays. These sections are led by our TAs and provide opportunities to reinforce and practice concepts covered in class in a smaller group setting. In section, we will answer questions, complete and discuss sample problems, and provide tips for that week's topics and assessment (see below). The TA who leads your section will also grade your assessments.
Students are expected to make every effort to attend the section to which they are assigned. If you need to attend a different section for a specific week, you must contact your TA ahead of time and receive permission. You should not regularly attend a section for which you are not registered (contact the course administrator if you need to change your section). Sections will not be recorded.
Remote Learning
All class sessions this quarter will be conducted via Zoom. It is highly recommended that you familiarize yourself with the Zoom software and interface as soon as possible. Feel free to ask questions on the message board if you are having trouble with the technology.
Lecture and section meetings will occur at their regularly scheduled times (as defined by the UW Time Schedule). Support hours will also occur at scheduled times. All times (including class times and assignment due dates and times) are given in PDT (local time in Seattle). You can use this page or Google to convert times to your local time zone.
Recordings & Privacy
Lectures will be recorded and recordings will be released to students. Theses recordings will capture the presenter's audio, video and computer screen. Student audio and video will be recorded if they share their computer audio and video during the recorded session. These recordings will only be accessible to students enrolled in the course to review materials. These recordings will not be shared with or accessible to the public.
The University and Zoom have FERPA-compliant agreements in place to protect the security and privacy of UW Zoom accounts. Students who do not wish to be recorded should:
- Choose a Zoom username that does not include any personal identifying information like their name or UW Net ID; and
- Not share their computer audio or video during their Zoom sessions (in the main room) Sections and support hours will not be recorded to protect student privacy in these more discussion-based formats.
Getting Help
Learning a new skill such as programming can be very challenging, even for students who are diligent and hard-working. It is expected that you will struggle at some point during the quarter. Please don't be afraid to ask for help if you don't understand something or need assistance with assignments or material. The following are some of the options available when you need assistance:
Ed message board:
We use Ed as an online Q&A forum where you may ask questions (both publicly and privately). If you have a question, this should be the first place to check -- it's often the case that other students may have had the same question. We also strongly recommend you monitor new questions asked on Ed semi-regularly -- seeing questions other students ask can often be surprisingly enlightening, and you may glean something important from the answer, even if it isn't to the question you had.Whenever possible, please prefer posting a public question so that other students can benefit from your question and its response. However, you should never post code from your assessments in a public post. Also please do not provide highly detailed English descriptions of your solution to an assignment, such as describing exactly what methods, parameters, and loops you used to solve it. It is, however, acceptable and encouraged to discuss homework ideas in general terms. Try to phrase your questions in a way that does not require referencing your actual code. Doing so will not only ensure you are not violating policy, but may help you better understand your question just by asking it!
Support Hours:
Support hours (also called help hours, office hours, or simply hours for short) are an opportunity for you to engage with your instructors and TAs outside of course meeting times. They're a place where you can receive support, resources, and chat about the course, department, or major. Please visit hours! Answering questions during hours is often one of the best parts of teaching, so please do us a favor and make use of them. No appointment or notification is necessary to attend hours, and you are welcome to attend any staff member's hours, regardless of who your section TA is. However please note that hours are public and privacy cannot be guaranteed. If you have a personal question that you would prefer to discuss in private, please contact Omar or your TA and request a separate appointment.All hours will be held virtually this semester. For join info see the schedule.
Religious Accomodations
Washington state law requires that UW develop a policy for accommodation of student absences or significant hardship due to reasons of faith or conscience, or for organized religious activities. The UWs policy, including more information about how to request an accommodation, is available at Religious Accommodations Policy. Accommodations must be requested within the first two weeks of this course using the Religious Accommodations Request form.
Disability Resources for Students
Your experience in this class is important to us. If you have already established accommodations with Disability Resources for Students (DRS), please communicate your approved accommodations to Omar at your earliest convenience so we can discuss your needs in this course.
If you have not yet established services through DRS, but have a temporary health condition or permanent disability that requires accommodations (conditions include but are not limited to; mental health, attention-related, learning, vision, hearing, physical or health impacts), you are welcome to contact DRS at 206-543-8924 or uwdrs@uw.edu or disability.uw.edu. DRS offers resources and coordinates reasonable accommodations for students with disabilities and/or temporary health conditions. Reasonable accommodations are established through an interactive process between you, your instructor(s) and DRS. It is the policy and practice of the University of Washington to create inclusive and accessible learning environments consistent with federal and state law.
Extenuating Circumstances
We recognize that our students come from varied backgrounds and can have widely-varying circumstances. We also know that the unusual circumstances of this quarter, and the current state of the world, may bring unique challenges for everyone. If you have any unforeseen or extenuating circumstance that arise during the course, please do not hesitate to contact the instructor via email, in hours, or through a private Ed Discussion post to discuss your situation. The sooner we are made aware of the situation, the more easily it can be resolved and the more likely we will be able to offer flexibility. Extenuating circumstances can include work-school balance, familial responsibilities, military duties, unexpected travel, or anything else beyond your control that may negatively impact your performance in the class.
Grading
Grading Scale
Work in CSE 142 will be graded using an ESNU scale:
- E (Exemplary)
- Work that meets all requirements and displays full mastery of all learning goals and material.
- S (Satisfactory)
- Work that meets all requirements and displays at least partial mastery of all learning goals as well as full mastery of core learning goals.
- N (Not Yet Satisfactory)
- Work that does not meet some requirements and/or displays developing or incomplete mastery of at least some learning goals and material.
- U (Unassessable)
- Work that is missing, does not demonstrate meaningful effort, or does not provide enough evidence to determine a level of mastery.
Take-home assessments will be graded using the full ESNU scale. Checkpoints, reflections, culminating assessments will be graded using only S/U; no grades of E or N will be awarded on these assignments.
It is important to note that, under this system, it is the work that is assessed as a proxy for the student. This is an imperfect system, but is necessary to manage a course of the size and scale of CSE 142. It is in your best interest to ensure that your work accurately reflects your mastery by being careful and diligent in following instructions, meeting deadlines, and understanding requirements.
Required Course Work
There will be four categories of required course work:
- checkpoints (weekly)
- Short assignments consisting of a few problems to give you practice with the content covered in class that week. Checkpoints will generally be due on Saturdays and may be worked on collaboratively with classmates. Checkpoints will be graded S/U based on behavioral correctness. Checkpoints can be made up through challenge checkpoints (see the section on late work).
- take-home assessments (weekly)
- Longer programming assignments that will assess your mastery of the skills and concepts covered in class that week. While take-home assessments will emphasize content covered in the week preceding the assessment's release, they will often integrate content from earlier in the quarter as well. Assessments will generally be due on Tuesdays and must be completed independently, though you may discuss your approach with classmates.
- culminating assessments (2x per quarter)
- Large, cumulative assessments consisting of a series of problems requiring you to engage with all course content covered to that point. culminating assessments must be completed independently, and will be graded S/U based on meeting the criteria described for each one.
- reflections (w/other course work)
- Brief, written reflections designed to help you engage in metacognition and reflect on your current progress and understanding. Each reflection will be directly tied to other required course work, usually a take-home assessment, and will be due along with that course work. Reflections will be graded S/U based on completion.
Resubmissions & Late Work
Learning from mistakes is an important part of mastering any skill, especially for novices. To enable this, you are allowed to revise and resubmit your work on take-home assessments to demonstrate improved mastery after your initial submission. Resubmissions are subject to the following rules:
- You may not resubmit a take-home assessment for which you did not make an initial submission.
- You may not resubmit a take-home assessment for which you received a U in Behavior.
- You may not resubmit a take-home assessment until you have received feedback on your previous submission (including resubmissions) of that assessment. (Generally one week after the due date.)
- Resubmissions must be submitted through an appropriate Google Form and acoompanied by a short write-up describing the changes made. This will both support you in being deliberate about the changes you make and ease grading of resubmissions by making the changes clear.
- A maximum of one take-home assessment can be resubmitted each week.
- A take-home assessment that has been found to involve academic misconduct may not be resubmitted (see below).
Only take-home assessments may be resubmitted. Due to the constraints of the summer quarter schedule, you will not have an opportunity to resubmit your last (8th) take-home assessment. More details on resubmitting can be found on the Resubmissions & Regrades page.
Late Work
You MUST make an initial submission for each take-home assessment by the published deadline to receive a grade other than U on every dimension of that assessment (see grading scale below). Even if your work is incomplete, you are highly encouraged to submit whatever work you have so that you can receive feedback. You will then be able to act on that feedback and resubmit (see the above resubmission policy).
Checkpoints, reflections, and culminating assessments will generally not be accepted after their published deadlines. Please see the policy on extenuating circumstances for more information.
Challenge Checkpoints
While checkpoints are not accepted after their published deadlines, we do provide a method of making up checkpoints that you weren't able to complete by their published deadline in the form of challenge checkpoints. Each week's checkpoint has a corresponding challenge checkpoint that can be completed to make up a missed checkpoint. Challenge checkpoints will be released the Monday after a checkpoint is due, and will be due the last day of instruction of the quarter (August 20th). A given week's checkpoint can only be used to make up that week's corresponding checkpoint, it cannot be used to make up any other week's checkpoint (i.e. Week 1 Challenge Checkpoint can only be used to make up Week 1 Checkpoint, Week 2 Challenge Checkpoint can only be used to make up Week 2 Checkpoint, etc.). Additionally, challenge checkpoints are not worth any extra credit if you've completed the corresponding week's checkpoint on time (although you are welcome to do them anyways for some extra challenging practice if you'd like to). Due to the constraints of the summer quarter, there will be no corresponding challenge checkpoint for Week 9's checkpoint.
Take-home Assessment Grading
Take-home assessments will be graded on four dimensions:
- Behavior
- Does the input and output functionality of the submission match that described in the specification
- Structure & Design
- Is the code effectively broken down into methods and are those methods well-written to create a well-structured program/class
- Use of Language Features
- Are all relevant Java language constructs used effectively and appropriately
- Documentation & Readability
- Does the code conform to all code quality guidelines for this course
Work will be assigned a grade on each dimension using the ESNU scale, resulting in four ESNU grades per assessment. The table below summarizes the expectations for each grade in each dimension.
E must meet all criteria | S must meet all criteria | N | U | |
---|---|---|---|---|
Behavior |
|
|
|
|
Structure & Design |
|
|
|
|
Use of Language Features |
|
|
|
|
Documentation & Readability |
|
|
|
|
Final Grade Assignment
Final grades will be based on the quantity of work completed at each level of mastery, based on the following minimums:
- at least 3.5
- S or better on all dimensions on all take-home assessments, including at least 6 total E's on each dimension
- S on at least 8 checkpoints
- S on both culminating assessments
- S on at least 7 reflections
- at least 2.5
- At least 30 total S's or better and no U's on take-home assessments
- S on at least 6 checkpoints
- S on both culminating assessments
- S on at least 4 reflections
- at least 1.5
- At least 20 total S's or better on take-home assessments
- S on at least 4 checkpoints
- S on at least 1 culminating assessments
- No reflections required
- at least 0.7
- At least 16 total S's or better on take-home assessments
- S grades on at least 2 checkpoints
- No culminating assessments required
- No reflections required
To receive a particular minimum grade, all requirements for that grade must be met. Exact final grades, including all grades not listed above, will be determined by the course staff based on each student's overall body of work. Importantly, meeting the requirements for a certain minimum grade exactly does not gurantee that a student's grade will not be higher than the guarantee, just that they will are guaranteed at least that grade. Similarly, not meeting the requirements for a certain grade does not guarantee that a student will not get that grade, only that they are not guaranteed to get that grade.
Collaboration & Academic Misconduct
Philosophy
Learning is a collaborative process, and everyone benefits from working with others when learning new concepts and skills. In general, we encourage you to collaborate with your classmates in your learning and take advantage of each others' experience, understanding, and perspectives.
However, there is a difference between learning collaboratively and completing work for someone else. This can be a subtle but important distinction. Ultimately, the goal of the course is to ensure that every student masters the material and develops the skills to succeed in future courses, projects, and other related work. Submitting work that is not your own, or allowing another student to submit your work as their own, does not contribute toward developing mastery. In addition, this deprives you of the ability to receive feedback and support from the course staff in addressing the areas in which you are struggling.
For more information, consult the Allen School policy on academic misconduct.
Permitted & Prohibited Actions
The following is a partial list of collaborative actions that are encouraged and prohibited. This list is not intended to be exhaustive; there are many actions not included that may fall under either heading.
The following types of collaboration are encouraged:
- Discussing the content of lessons, sections, labs, the textbook, or provided examples.
- Working collaboratively on solutions to practice problems or checkpoints.
- Posting and responding to questions on the course message board, including responding to questions from other students (without providing assessment code; see below).
- Describing, either verbally or in text, your approach to a take-home assessment at a high-level and in such a way that the person receiving the description cannot reliably reproduce your exact work. Such description should be in English or another natural human language (i.e. not code).
- Asking a member of the course staff about concepts with which you are struggling or bugs in your work.
The following types of collaboration are prohibited and may constitute academic misconduct:
- Looking at another person's submission on a take-home assessment, or substantially similar code, at any point, in any form, for any reason, and for any amount of time. This restriction includes work written by classmates, family members or friends, former students, and online resources (such as GitHub or Chegg), among other sources.
- Showing or providing your submission on a take-home assessment to another student at any time, in any format, for any reason.
- Submitting work that contains code copied from another resource, even with edits or changes, except for resources explicitly provided by the course staff.
- Having another person "walk you through" work you submit, or walking another person through work they submit, such that the work produced can be entirely and reliably reconstructed from the instructions provided. (That is, submitting work that you produced simply by following instructions on what to write.) This restriction includes classmates, former students, family members or friends, paid tutors or consultants, "homework support" services (such as Chegg), etc.
If you discuss a take-home assessment with one or more classmates, you must specify with whom you collaborated in the header comment in your submission. You may discuss with as many classmates as you like, but you must cite all of them in your work. Note that you may not collaborate in a way that is prohibited, even if you cite the collaboration.
Tip! A good rule of thumb to ensuring your collaboration is allowed is to not take written notes, photographs, or other records during your discussion and wait at least 30 minutes after completing the discussion before returning to your own work. (You could use this time to relax, watch TV, listen to a podcast, or do work for another class.) For most students, this will result in you only bringing the high-level concepts of the collaboration back to your work, and ensuring that you reconstruct the ideas on your own.
Instead of utilizing forbidden resources, we hope you will submit whatever work you have, even if it is not yet complete, so you can get feedback and revise your work later. If you are ever in doubt if a collaboration or resources is permitted or not, please contact a member of the course staff.
Penalties
Any submission found to be in violation of this policy will receive a grade of U, as we are unable to assess your mastery from work that is not your own. In addition, students will forfeit the ability to resubmit work that is found to be in violation. Repeated or egregious violations of the policy will be forwarded to a relevant university committee for further action.
Amnesty
The course staff has endeavored to create an environment in which all students feel empowered and encouraged to submit their own work, regardless of the quality, and avoid prohibited collaboration. However, despite our best efforts, students may occasionally exercise poor judgement and violate this policy. In many cases, these students come to regret this decision almost immediately. To that end, we offer the following opportunity for amnesty:
This policy is designed to allow students who have acted in a way they regret the opportunity to correct the situation and complete their work in a permitted way. It is not intended to provide forgiveness for violations that are detected by the course staff, nor to be invoked frequently. It is still in your best interest to submit whatever work you have completed so that you can receive feedback and support.
Note that, while requesting amnesty will allow you to resubmit your work, the resubmission must still not violate the collaboration policy. In particular, the resubmission must not include work that is not your own. It is extremely difficult to "unsee" or "forget" work that you may have viewed in violation of the policy, and it is your responsibility to ensure that your resubmission is completed entirely in accordance with the policy. (Needless to say, the easiest way to achieve this is to not violate the policy in the first place!)
Optional Course Activities
Labs
We offer a supplemental one-credit add-on to CSE 142, known as CSE 190. This optional, supplemental course is a self-guided programming lab during which students work through material and problems related to that week's content in CSE 142. TAs are available to answer questions and provide support, and students are allowed and encouraged to work together on the material. Lab sessions occur on Tuesdays at various times. (Lab meetings are NOT general office hours for CSE 142. Please attend scheduled office hours for support with other CSE 142 assignments.)
CSE 190 is graded CR/NC. To receive credit for the course, students must complete the required checkpoint problems in seven (7) of the nine (9) offered labs. Students are strongly encouraged to work on lab assignments during the scheduled Tuesday meeting times, but this is not required. In addition, the required problems do not need to be completed by the end of your scheduled lab session -- you may work on them at other times if you prefer, or if you are unable to finish. (Lab lessons typically include more content than most students can complete in the 50-minute session.)
Lab lessons will be available to all CSE 142 students, and you are welcome to work on the activities even if you do not enroll in CSE 190. However, to receive credit for CSE 190, you must be enrolled in CSE 142; if you withdraw from CSE 142 at any point during the quarter, you must also withdraw from CSE 190.
If you are interested in registering for the additional lab credit, please be sure to register for one of CSE 190 Sections X or Y. Other sections of CSE 190 are not associated with CSE 142.
More info on the Labs page.
Guidance to Student Outside the US
Faculty members at U.S. universities -- including the University of Washington -- have the right to academic freedom which includes presenting and exploring topics and content that other governments may consider to be illegal and, therefore, choose to censor. Examples may include topics and content involving religion, gender and sexuality, human rights, democracy and representative government, and historic events.
If, as a UW student, you are living outside of the United States while taking courses remotely, you are subject to the laws of your local jurisdiction. Local authorities may limit your access to course material and take punitive action towards you. Unfortunately, the University of Washington has no authority over the laws in your jurisdictions or how local authorities enforce those laws.
If you are taking UW courses outside of the United States, you have reason to exercise caution when enrolling in courses that cover topics and issues censored in your jurisdiction. If you have concerns regarding a course or courses that you have registered for, please contact your academic advisor who will assist you in exploring options.