Click here for plain text version to print.
Instructor: Megan Hazen
mh75[at]cs[dot]washington[dot]edu
For most purposes, use the course staff email: cse374-staff[at]cs[dot]washington[dot]edu. You will get a quicker and more comprehensive response.
See the course homepage for information about the course. You will also wish to refer to the Canvas page including lectures, assignments, TAs, and office hours. Additionally, this course will use an Edstem discussion board. The discussion board will provide invaluable information and discussion with your peers and instructors.
(Course Catalogue) Covers key software development concepts and tools not in introductory courses. Concepts of lower-level programming (C/C++) and explicit memory management; techniques and tools for individual and group software development; design, implementation, and testing strategies. Intended for non-majors. Cannot be taken for credit if credit received for CSE 333. Prerequisite: CSE 143.
This is a very practical, skills-oriented course. The goal is to gain exposure to a wide variety of useful concepts and tools. Lecture will introduce concepts, and homework will provide an opportunity to practice. There will be a strong emphasis on independent learning, as it will not be possible to cover each topic comprehensively in class.
Successful course participants will:
In principal, all homeworks contribute equally to the 65%, but larger programming projects will be weighed somewhat more than others. Percentages are tentative and may be adjusted.
The quizzes are designed to be short and solidify mastery. Each will have equal weight.
Extra credit on homeworks is designed to have little (but some) impact on your grade whether you do it or not. Not doing extra credit will not lower your grade - regardless of how many other students attempt it. Extra credit is designed to be challenging and an opportunity for people with extra time to work on something optional.
You should not attempt the extra credit until you have finished the rest of an assignment. We will ignore extra-credit work on assignments that are not at least "almost perfect" otherwise.
Deadlines will be given with each assignment - due dates are specified with day and time in Pacific Daylight Time. These deadlines are strict - it is your responsbility to ensure that you can and do submit assignments on time. If you are aware of a challenge BEFORE the due date, or are faced with a true emergency, please contact your instructor.
No late submission of short quizes will be allowed; answers will be posted to encourage review of the material and this does not support late submissions. You will have two attempts at each quiz, and you are encouraged to look up any answers you had questions about before the second attempt.
Homework assignments that are late by up to four days will be graded with a penalty of 20% for each day. (For example, an assignment turned in 12-24 hours after the submission deadline will be considered one day late. You will receive a grade equal to 80% of the grade merited by the work. 24-48 hours will receive a grade equal to 60% of the earned grade, etc. An assignment received five or more days after the due date will not be graded and will earn a grade of zero.)
Additionally, each student will receive three "late days". In order to use your late day you will note that you wish to use one, and the clock for the above penalties will start 24 hours after the submission deadline.
There is one book listed for this course (Linux Pocket Guide). There are a large number of resources that may be useful. One skill you will exercise in this course is finding your own reliable resources - this may be a good time to build a bookmark table of your favorite resources. A number of useful links may be found on the course web page. Additionally, you may find the following books informative.
The Pocket Guide is a concise source of information and provides a useful reference to Linux at the level you need for 374. You are not responsible for memorizing all of the details in it, but I strongly recommend that you read through it. The Kernighan & Ritchie book is the classic reference on C from the people who invented the language. It has useful explanations and examples beyond the information presented in class or reference information available online.
See the Linux and C resource pages on the course website for links to additional useful information on Linux and C.
This quarter will have some portion of the class meetings act as 'flipped classrooms'. This means that reading, or a video, for instruction will be assigned for completion before the class session. Then, class time will be spent working together on assignments. Flipped classrooms are used to maximize the benefit of time spent live with an instructor. Students will find that they are the most beneficial when the recommended instruction is completed before the class session.
This course has a Canvas page which will be the primary guide to all assignments. This page will be udpated frequently. It is your responsibility to stay on top of all Canvas announcements and assignments.
An EdStem discussion board is linked to the course home page so we can keep in touch outside of class meetings. Please participate. The discussion page may be used for any course related purpose. When discussing code please refer to general approach, or possibly psuedo-code, but do not share code snippets.
Messages to the course staff that are not appropriate for the discussion board can be sent to cse374-staff[at]cs. Please don't send email to individual staff members if possible. Messages sent to the entire staff are more likely to receive a timely response, and it helps ensure the staff gives consistent answers to questions, as well as help us get a better idea of whether several people have the same or similar questions.
Any attempt to misrepresent the work you submit will be dealt with via the appropriate University mechanisms, and your instructor will make every attempt to ensure the harshest allowable penalty. The guidelines for this course and more information about academic integrity are in a separate document (cs.washington.edu/academics/misconduct). You are responsible for knowing the information in that document. Please notice that you should not, in any situation, borrow another person's code or provide yours to a fellow student.
This course adheres to University standards including those guidelines laid out about Academic Integrity and Student Conduct. We refer students to support and accommodation services including Disability Services, Religious Accommodations, and Safe Campus resources.
This instructor seeks to ensure all students are fully included in each course, and strives to create an environment that reflects community and mutual caring. I encourage students with concerns about classroom or course climate to contact me directly. In the event you are more comfortable with a different approach, please refer to the resources above.