CSE121: Introduction to Computer Programming I

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

Course Information

Teaching Staff

Instructor: Simon Wu

Instructor Email: [email protected]

Registration Questions: CSE Advisers ([email protected])

Course Staff and Support Hours: Course Staff and Office Hours

Who to contact?

To ensure the security of your personal information, all communication related to this course should be conducted through either the EdStem platform or via your UW-issued email address. Personal email addresses should not be used for course-related correspondence.

Here are some common types of questions and the best place to ask them to get the fastest and most accurate response.

  • Registration questions? Email the CSE advisers as the course staff do not have access to add codes.
  • Questions about course concepts? Visit office hours in the Introductory Programming Lab (IPL), instructor office hours, or post on the Ed Discussion board (more info below)
  • Questions about assignments? Visit office hours in the Introductory Programming Lab (IPL), instructor office hours, or post on the Ed Discussion board (more info below)
  • Questions about extenuating circumstances? Post privately on the Ed Discussion board (more info below) or email Simon at [email protected]

Class Session Meeting

See Class Sessions for information on how each day of class will be run.

Other Info

Course Goals

Learning Objectives

CSE 121 is designed around a set of 16 learning objectives, organized into seven major themes. At the end of the course, successful students will be able to do the following:

Computational Thinking

  • Create an algorithm to solve a given problem and express that algorithm in a structured way (e.g. pseudocode)

Code Comprehension

  • Trace the behavior and state of Java code that uses basic control structures and data abstractions through its execution
  • Predict the behavior and results of executing Java code that uses basic control structures and data abstractions

Code Writing

  • Write functionally correct Java programs that meet a provided specification using control structures, primitive data types, and basic data abstractions
  • Write functionally correct methods from a provided specification that can be composed to solve a larger problem.
  • Select and apply the following control structures to manage the flow of control and information:
    • Methods
    • for and while loops
    • if, if-else, and if-else-if statements
  • Select and apply the following primitive data types and basic data abstractions to manage and manipulate data:
    • int, double, boolean, String, char
    • Variables
    • Parameters and return values
    • Arrays
  • Write programs that accept input and produce output to/from the console
  • Write programs that are readable and maintainable, and that conform to provided guidelines for style and implementation

Communication

  • Clearly and effectively describe the behavior of a given code snippet
  • Produce clear and effective documentation to improve comprehension and maintainability of programs and methods

Testing

  • Determine the correctness of a program by evaluating its behavior as compared to a provided specification
  • Identify and enumerate a set of inputs or tests that are useful for determining the correctness of a program

Debugging

  • Identify errors in a method’s behavior
  • Define and implement fixes for identified errors

Ethics/Impact

  • Describe the ethical and social impacts of technology and explain how our choices as programmers can influence these impacts
  • Challenge dominant assumptions, values, and goals reflected in computing and technology
  • Analyze the strengths and limitations of using computing and technology to solve various problems
  • Identify interdisciplinary applications of computing that can be deployed in service of different communities
  • Understand disparities in access to computing, and explain the consequences of such disparities in technologies we build

Course Climate

Inclusion

All students are welcome in CSE 121 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.

Extenuating Circumstances: “Don’t Suffer in Silence”

We recognize that our students come from varied backgrounds and can have widely-varying circumstances. We also acknowledge that the circumstances of this particular quarter may bring unique challenges. If you have any unforeseen circumstances that arise during the course, please do not hesitate to contact the course staff or the instructor to discuss your situation. The sooner we are made aware, the more easily we can provide accommodations.

Typically, extenuating circumstances include work-school balance, familial responsibilities, health concerns, or anything else beyond your control that may negatively impact your performance in the class. Additionally, while some amount of “productive struggle” is healthy for learning, you should ask the course staff for help if you have been stuck on an issue for a very long time.

Life happens! While our focus is providing an excellent educational environment, our course does not exist in a vacuum. Our ultimate goal as a course staff is to provide you with the ability to be successful, and we encourage you to work with us to make that happen.

Disabilities

Your experience in this class should not be negatively-affected by any disabilities that you may have. The Disability Resources for Students (DRS) office can help you establish accommodations with the course staff.

DRS Instructions for Students

Religious Accommodations

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 UW‘s 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.

Software and Textbooks

Most of this course will be run on EdStem - this includes readings, notes, exercises, and assignments. You can develop your programs in EdStem itself (online), or set up an environment to work directly on your device.

For more details, visit the software setup page.

There is no required textbook for CSE 121. All of our readings are available for free on Ed. If you would like a textbook as an additonal resource, we recommend Building Java Programs by Reges and Stepp (5th Edition).

Note on the textbook

Class Sessions and Quiz Sections

Class Sessions

To best support your learning in CSE 121 this quarter, we will be using a hybrid classroom model. This will mean our class time will be a mix of time for lecture and time for students to collaboratively work on activities. Time in class spent on students actively participating in their learning has been shown numerous times to improve learning outcomes for students. (Email the instructor if you’re interested in reading about these studies.)

To ensure there is time in class for these opportunities for active practice, we will also ask you to prepare to come to class each day by completing a pre-class reading each day of class. The readings will have a mix of reading slides (often complemented by a video) and questions to let you practice the material you read. The readings/exercises should take about 30 minutes and should be completed before class for that day. The class sessions will begin where the pre-class reading left off after a brief review of the reading.

Quiz Sections

Quiz sections are smaller, TA-run sessions where students work in groups on practice problems and review concepts from the previous day’s class session.

Quiz sections meet on Tuesdays/Thursdays according to the time you registered for. Whenever possible, please attend your assigned quiz section. However, if you need to attend a different quiz section please reach out to the TA whose section you are visiting.

This quarter, we will be experimenting with offering extra credit for quiz section attendance. This policy will kick in starting the second week (6/25). For each of the following non-quiz sections (12 total), students are eligible to receive an extra “S” if they attend at least five sections, and an extra “E” if they attend at least ten sections (for a maximum of one extra S and one extra E overall). If you are unable to make it to your quiz section for any given day, please reach out to your TA and they can give you a section participation make-up assignment that you can submit instead for extra credit attendance that day. These make up assignments must be completed within a week.

If you can’t make it to quiz section

Required Course Work, Resubmissions, and Late Work

Types of Assignments

There will be five types of course work assigned in CSE 121:

Pre-class Work (daily, ~16 total)

Details

Creative Projects (~biweekly, 3 total)

Details

Programming Assignments (~biweekly, 4 total)

Details

Quizzes (~biweekly, 3 total)

Details


Final Reflection Assignment Due by the end of the quarter, students will have to complete a Final Reflection Assignment. Please see this lesson for more information!

Final Exam (during our last week, 1 total)

Details



Revision and Resubmission - Programming Assignments and Creative Projects

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 programming assignments and creative projects to demonstrate improved mastery after your initial submission, and these grades will fully replace the previous grades.

See Resubmissions for details and rules.

Late Work

  • For programming assignments and creative projects, late work is generally not accepted. However, if you are unable to turn in an assignment by its initial submission, you will be able to use one of the weekly resubmissions in future weeks to turn in the assignment.

    Remember, there are 8 assignments and 7 resubmission opportunities, so using a resubmission to turn in an assignment you missed earlier means you will be able to make fewer resubmissions. You should turn in as much of your work as possible before the initial submission date, so you can get feedback on that and iterate on it in a future resubmission, rather than using that resubmission to get your first piece of feedback on that assignment.

  • Quizzes must be completed during the scheduled times (usually in your regular quiz section). If you are unable to attend section on a quiz day due to extenuating circumstances (see below) please reach out to Simon immediately.

Please see the policy on Extenuating Circumstances for more information.

Getting Help from Staff & Peers

Having questions or getting stuck on something is entirely expected in the learning process. If you find something challenging with your studies, that is a sign you are learning! Learning is not something that you need to do alone though! In fact, connecting with your peers or asking a member of the course staff for help can add extreme depth to your knowledge.

  • Synchronous Help (Office Hours): One place to go to get help is our Office Hours hosted throughout the week. TAs staff office hours for many hours a day to provide you the help you need when you need it! This is a great place to go if you want to review a particular course concept, work on a practice problem with the help of a TA or your peers, or get help on a Creative Project or Programming Assignment if you are running into difficulties.

    Tip

    A common misconception is that you can only go to office hours with specific homework questions. That is not true! If you have any questions about course concepts (e.g., from class that day), you are super encouraged to go work on that concept with a member of the course staff at office hours! Getting help with a concept earlier, when you first are feeling unsure, is much better than saving it until you need it on the homework.

  • Asynchronous Help (Ed Discussion): With a class of our size, directly emailing a member of the course staff is not always recommended. There are many of you and only few of us, so if you email one person directly we can’t make a guarantee how quickly we can respond! To alleviate this one-on-one communication of email, we have a course discussion board that will be a much more lively place for discussion and a way to make sure you can are helped more quickly. The message board is set up so that all of the course staff can help you, which will make it more likely for you to receive a quicker response!

    Ed Tips

    • If you are asking a general question about the course logistics or content, you can make a public post. This way other students can benefit from seeing your question, and you can even answer each other’s questions to share your perspectives!
      • If you want, you can choose to post anonymously so that other students in the course can’t see your name. Note that anonymous posting does not hide your identity from the course staff.
    • You’re encouraged to answer each other’s questions as well! Explaining a topic to someone else (even on a discussion board) is a great way to help you better understand the material. The course staff will still look over student answers and can nicely point out some misconception if there is one so that everyone benefits.
    • If you have a question that’s pretty specific to your homework solution, or, is about some personal details that you would not want to share with the class (e.g., DRS accommodations), you can make a private post on Ed that is only visible to the course staff. This way, any member of the staff can respond to get you the help you need!
    • For sensitive matters that you only want to discuss with Simon, you can instead email Simon if that makes you feel more comfortable. Note that the response time for the instructors’ email is longer than posting on the Ed board.

Grades

Grading Scale

Work in CSE 121 will be graded using the following scale:

Grade Description
E
Excellent
Evidence of meeting or exceeding all learning objectives is present. Work has only trivial or inconsequential flaws, if any. Little to no room left to improve understanding.
S
Satisfactory
Evidence of meeting most or all learning objectives is present. Work includes minor errors or inconsistencies, but no significant shortcomings. Understanding could potentially be improved, but demonstrated proficiency is acceptable.
N
Not yet
Evidence of meeting some learning objectives is present, but there are significant gaps and/or evidence of not yet meeting other learning objectives. Demonstrated understanding needs further development to meet expectations.

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 121. It is in your best interest to ensure that your work accurately reflects your proficiency by being careful and diligent in following instructions, meeting deadlines, and understanding requirements.

On occasion, a grade of U (Unassessable) may be given for 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 proficiency, uses disallowed features or concepts, or violates other major course rules.

Assignment Grading Schemes

  • Pre-class Work: Pre-class work is not graded.
  • Creative Projects: Creative projects will be assigned a two ESN grades according to the Creative Project Rubric.
  • Programming Assignments: Programming assignments will be assigned four ESN grades according to the Programming Assignment Rubric
  • Quizzes/Final Exam: Each problem on a quiz or the final exam will be assigned a single ESN grade. Across the 3 quizzes, the final exam, and the final reflection, there will be 17 total graded questions (9 from quizzes, 6 from the final exam, and 2 for the final reflection).

Though there will be 16 total quiz and exam problems, the lowest four quiz/exam problem grades will be dropped and not considered in course grade calculation. Course grades will be computed as though there were only 13 total quiz/exam problems.

Course Grades

Notation

S+ indicates S or E. For example, for a minimum of 2.5 in the table below, you need both at least 24 combined Ss and Es and at least 17 Es. (Or, put another way, at least 17 Es plus at least 7 more Ss or Es.)

Course grades will be computed as follows:

  1. Base grade: Identify the highest minimum grade for which the student meets all requirements (see below).
  2. Additional S+’s and E’s: Count the number of additional S+’s and E’s beyond the requirements for the base grade identified in the previous step.
  3. Adjustment: Multiply each of the above counts by a multiplier and add the result to the base grade. Additional S+’s and E’s may each use a different multiplier. These multipliers will be determined by the course staff at the end of the quarter and will not be published.

Minimum requirements for each 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.

Notation

S+ indicates S or E. For example, for a minimum of 2.5 in the table below, you need both at least 24 combined Ss and Es and at least 17 Es. (Or, put another way, at least 17 Es plus at least 7 more Ss or Es.)

Minimum Grade Required S+ Required E
Total available 35 35
3.5 31 28
3.0 28 23
2.5 25 18
2.0 22 0
1.5 15 0
0.7 9 0

To be guaranteed a particular minimum grade, all requirements for that grade must be met. Failing to meet any of the requirements for a particular minimum grade does not preclude the possibility of receiving that grade, but does mean that grade cannot be guaranteed. Estimates of students’ final grades beyond the requirements listed above will not be provided before final grades are released.

Grade Checker

You can also use this tool to see how your scores will map to a minimum promised course grade.

发表评论

电子邮件地址不会被公开。 必填项已用*标注