Teaching staff:
Class meetings:
Other:
This course provides an introduction to programming using the Java programming language. We will explore common computational problem-solving techniques useful to computer scientists, but also to anyone who has large data sets, repetitive processes or other needs for computation. 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 or CSE 143X. Students wishing to skip to CSE 143 should contact our advising staff at cse142@uw.edu.
All students are welcome in CSE 142 and are entitled to be treated respectfully by both 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.
Lessons will typically be your first introduction to new concepts. Although we do not take attendance, students are encouraged to attend lessons each day and will be held responsible for all material (including administrative announcements) presented. Lessons will be recorded, but we highly recommend that you attend class live as often as possible to take full advantage of activities and practice and ask questions. Recordings will be posted on the course website within 24 hours of the last lesson on that day, 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 lesson— 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.
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, but we will share materials (handouts and solutions) on the course website and/or Ed course. For some sections, we may also have a video of a TA walking through some of the topics or problems that were discussed, but these will not contain questions or discussions from during section.
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:
Asynchronous help: Ed message board
If you have a question, this should be the first place to check. It's often the case that many students have the same question, so your question may have already been asked and answered! We also strongly recommend you monitor new questions asked on Ed semi-regularly— seeing questions other students ask can often be surprisingly enlightening.
If not, you can post a new question yourself. If you have a general question about course content or logistics, make a public post. This way, other students can benefit from seeing your question. Students are also encouraged to answer each other's questions— Explaining a topic to someone else is a great way to help you solidify your own understanding! The course staff will still look over student answers and can nicely point out any misconceptions if necessary.
If you have a very specific question about personal details or your own assessment solutions, you can make a private post that will only be visible to the course staff. Though this will sometimes be necessary, we encourage you to try to phrase your question in a way that doesn't 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!
Synchronous help: Support hours
Support hours with our TAs take place in the Introductory Programming Lab (IPL), located in MGH 334. The IPL is open for many hours on weekdays and a few hours on weekends, and no appointment is necessary. This is a great place to go if you want to review a particular course concept, work on practice problems with the help of a TA or your peers, or get support on assigned work if you are struggling.
Miya also holds support hours, though her availability is much more limited than the IPL. (There's only one of her!) You are welcome to visit Miya's support hours if you would like to talk to her directly about anything. You're also welcome to come and just chat!
Please note that support hours are public and privacy cannot be guaranteed. If you have a personal question that you would prefer to discuss in private, please contact Miya or your TA and request a separate appointment.
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 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 physical or mental health and wellness, work-school-life balance, familial responsibilities, military duties, unexpected and unavoidable travel, or anything else beyond your control that may negatively impact your performance in the class.
In general, please reach out as soon as possible regarding extenuating circumstances. While we will make every effort to support and accommodate students experiencing difficulties, we are far more likely to be able to assist before a deadline has passed than after. In particuar, requests for extensions are generally not granted retroactively. Please be communicative with the course staff so that we can support you as much as possible. Our ultimate goal is to help every student be sucessful in the course.
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 Miya 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.
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.
One additional resource to keep in mind is the resources page on the class website. This page contains links to a variety of guides, tips, and tricks on material we don't have time to fully cover during lecture or section. The resources there are not necessarily required, but may be useful!
There will be four categories of required course 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:
Note that, while you are not required to make an initial submission for an assessment by its due date in order to resubmit it, it is very strongly recommended that you make every attempt to do so. The Revision and Resubmission policy is intended to provide an opportunity to learn from your mistakes and improve your programs based on the feedback you receive from our TAs. Forgoing that opportunity for feedback on your initial submission means that you won't be using your Resubmission to improve your code, but instead to make your first attempt (and keep in mind that there will be limited opportunities for Resubmissions during the quarter). It can be a slippery slope to treat the Resubmission cycles as an "extended deadline", and doing so can often cause you to fall behind in the course.
Checkpoints, reflections, and culminating assessments will generally not be accepted after their published deadlines, except in extenuating circumstances. Please see the policy on extenuating circumstances for more information.
Take-home assessments may be submitted late by utilizing a resubmission and following the normal resubmission process. Note that resubmissions can only be used for assignments for which feedback has been released-- for most assignments, this means you will not be able to use a resubmission until at least one week after the initial due date. We strongly recommend submitting whatever work you have at the initial deadline, even if that work is incomplete, so that you can receive feedback and act on that feedback in your resubmission.
Work in CSE 142 will be graded using an ESN scale:
Take-home assessments will be graded using the full ESN scale. Checkpoints, reflections, culminating assessments will be graded using only SN; no grades of E 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.
On occasion, a grade of U (Unassessable) may be assigned to work that does not enable a proper assessment of the assignment's learning goals. This may include, but is not limited to, work that is missing, does not demonstrate meaningful effort, does not provide enough evidence to determine a level of mastery, uses disallowed features or concepts, or violates other major course rules.
Take-home assessments will be graded on four dimensions:
Work will be assigned a grade on each dimension using the ESN scale, resulting in four ESN 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 |
|
---|---|---|---|
Behavior |
|
|
|
Structure and Design |
|
|
|
Use of Language Features |
|
|
|
Documentation and Readability |
|
|
|
Final grades will be computed as follows:
Minimum requirements for each base grade are below. Note that all requirements for a particular grade must be met to guarantee that minimum, though failing to do so does not mean that grade cannot be earned.
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 support hours for CSE 142. Please attend scheduled support 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 eight (8) of the ten (10) 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.) However, to receive credit, all work my be completed by the last day of instruction for the quarter (Friday, June 3).
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 I through M and P through R. Other sections of CSE 190 are not associated with CSE 142.
Each week, we will hold an optional "exploration session" featuring a presentation, discussion, or activity on a topic related to computer science, but outside the normal scope of CSE 142. These sessions will provide opportunities to engage and interact with your classmates, the TAs, and a variety of guests, as well as to explore aspects of CS, STEM, and related areas in ways beyond the programming focus of CSE 142.
Exploration sessions will occur on Thursday evenings. The schedule and list of topics/activities are posted on the Exploration Sessions page.
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.
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 or utilize a resource in a way that is prohibited, even if you cite the collaboration or resource.
For more information, consult the Allen School policy on academic misconduct.
Our collaboration policy can best be summarized as "work you submit must be predominantly your own." There is value in learning from peers and others as you work to master the material, but ultimately, you must do your own work. 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. When in doubt, please contact the course staff for clarification.
The following types of collaboration are encouraged:
The following types of collaboration are prohibited and may constitute academic misconduct:
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.
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.
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!)
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.
This offering of CSE 142 is built upon the many previous offerings and materials developed by previous course staffs. We are grateful to be able to build upon the work of our predecessors.
Much of the syllabus language and policies were adapted from Hunter Schafer and Kevin Lin.
Credit for the development for this website template goes to Wen Qiu, Hunter Schafer, and the staff of CSE 163.