CS 340: Introduction to Computer Systems

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

CS 340: Introduction to Computer Systems

Basics of computer systems. Number representations, assembly/machine language, abstract models of processors (fetch/execute, memory hierarchy), processes/process control, simple memory management, file I/O and directories, network programming, usage of cloud services.

3 credit hours.

Prerequisites: CS 225

1Course Staff

Instructor

Luther Tychonievich11 Pronounced Tai CON of Itch (luthert) (2340 SC22 )

Email should be used if you need individual accommodations, and should include 340 in the subject line. Campuswire33 Campuswire accounts are added the business-day after you enroll should be used for all other course-related communication.

Assistants

Fatih Atlamaz, Vasudha Das, Navtej Kathuria, Daixuan Li, Nishk Patel, Krut Patel, Raunuk Sha, Taigue Woods

Contact by posting on Campuswire. Direct contact with specific assistants is discouraged; they are students with other demands on their time and direct contact makes it difficult to manage how much time they are devoting to this course.

2Course Structure

CS 340 meets twice a week for in-person lectures. You will explore systems through real systems, applications, protocols, and implementations. Each week you will have a mastery-based homework that allows you to practice and master the technical concepts. After mastering the concepts, you then apply them in the weekly programming projects (MPs). Throughout the semester, you will:

  • Learn how computers do what they do,
  • Implement real technical specifications, including significant portions of the PNG and HTTP specifications,
  • Implement blocking calls with various locking mechanisms,
  • Experience and fix deadlock in multi-threaded applications,
  • Communicate with web-based APIs for real-time interactive applications,
  • Write your own RESTful and stateful API endpoints, and
  • Combine everything into a final course project.

The course will be roughly divided into three parts. Part 1 covers how computers are designed and operate, from electrons up to C. Part 2 covers concurrency and synchronization, including the basics of operating systems and threads. Part 3 covers interaction between systems written by different parties, including various as a Service models such as containerization and web services.

All of the course content will be posted on the this website. While some draft content might appear ahead of schedule, in general content will be posted shortly before it is used in class.

This course has significant overlap with CS 233 and CS 341. CS 233 and CS 341 invest 8 credit hours in going into detail on topics that CS 340 covers in 2 credit hours. Our briefer overview is sufficient for many purposes, but leaves out details needed for hardware-aware application domains such as embedded systems and cybersecurity. The remaining credit hour in 340 explores how to use containers and service architectures to deploy internet applications. A more detailed comparison based on the Spring 2021 offerings of the three courses is available for anyone who is interested.

2.1Class Meetings

Class meets44 This information is taken from the registrar’s page on this course. each Tuesday and Thursday from 2:00-3:15PM in room 1404 of the Siebel Center for Computer Science (SC).

Most days attendance is optional but encouraged, with recordings posted on ClassTranscribe several hours after lecture. Past semesters suggest that the average grades of students who attend regularly tend to be significantly higher than those for students who do not. Those attending daily in Spring 2024 earned A+ grades at 4× the rate of students who did not and a C or lower at 0.1× the rate of students who did not attend.

Attendance is required on November 21, with some grade-contributing interactive activity executed during class. Attendance is also required on the scheduled final exam time, and for the midterms in the CBTF.

2.1.1Absences

For most class meetings, absences are permitted at no penalty and require no notice.

Please do not attend class meetings if you are feeling ill or are potentially contagious with any illness, even a mild virus. Illnesses that are mild in you may be more severe in others and should not be spread.

There are meetings where absences are not permitted because they are part of some assessment; being absent from these meetings requires both advance approval and completing an instructor-specified alternative assessment. The meetings with required attendance are:

  1. The three midterms (in the CBTF)
  2. The final project (in our usual classroom)
  3. The MP checkoff on 21 November (in our usual classroom)

Examples of common reasons for an absence for one of these meetings to be excused include

  • Potentially contagious illness.
  • Illness or episodic disability that would inhibit performance in the scheduled assessment.
  • University-sponsored travel.
  • Personal or family emergencies.
  • Major religious observances.

Absences from required meetings should be reported to the instructor as soon as you are aware of them. Excused absences will require make-up work identified by the instructor to avoid a grade penalty.

2.2Tutoring Hours

See the schedule for when and where tutoring hours take place. One-off adjustments based on tutor availability may be announced in Campuswire.

We invite all to attend tutoring hours: course staff can often identify an correct a misunderstanding much more quickly than you could on your own. Often, trouble completing an MP or HW will be the indication to you that something isn’t fully understood. We will generally focus more on teaching you what you are missing than on debugging your MP code or answering the HW question, with the hope that doing so will not only give you the ability to solve your immediate challenge but also help you face fewer similar challenges in the future.

3Assignments and Grades

Course grades are given as follows. Each category (except the final project) has several instances, with instances within a category evenly divided.

Homework Assignments
  • 15% of course grade
  • Given weekly in PrairieLearn
Midterms Assignments
  • 30% of course grade
  • Given in the CBTF
  • 50 minutes, scheduled in a 3-day window of your choosing. Tuesday class will be canceled in each midterm window to ensure you have at least one opening.
Machine Projects (MPs)
  • 40% of course grade
  • Roughly one per week, though some weeks won’t have one
  • Submitted on our class submission page, with on MP also having an in-class component
Final Project
  • 15% of course grade
  • Checked off in class during the university-assigned finals period
  • 7:00-10:00PM Tuesday 17 December55 This information is taken from the registrar’s page of final exam times, which we expect to be true, but the final time and place can be changed by the registrar before it is posted in the Course Explorer somewhere around the middle of the term.

Letter grades are based on a scale of percentages where 90s are As, 80s are Bs, 70s are Cs, and 60s are Ds; pluses are given for the top third of each letter bucket group (e.g. C+ is 76⅔% ≤ grade < 80%) and minuses for the bottom third (e.g. B− is 80% ≤ grade < 83⅓%). As an exception, A+ will be given to a small number of the very best performers in the class, regardless of how many students earn more than 96⅔%.

Some MPs will include an extra credit opportunity which will be clearly indicated in the MP description and will be awarded only if you got 100% on the rest of the MP. No other parts of the course gives extra credit.

3.1Late submissions

MP submission policies are found on the MP page.

Homework and in-class checkoffs are never accepted late.

Midterms are only accepted late if arranged in advance with the professor.

4Computer-Based Testing Facility

This course uses the Grainger College of Engineering’s Computer-Based Testing Facility for its midterm exams.

The policies of the CBTF are the policies of this course, and academic integrity infractions related to the CBTF are infractions in this course.

If you have accommodations identified by the Division of Rehabilitation-Education Services (DRES) (http://www.disability.illinois.edu/) for exams, please submit your Letter of Accommodations (LOA) through the CBTF website (https://cbtf.illinois.edu/students/dres) as soon as possible. It can take up to five days for your LOA to be processed and if you make a reservation before your LOA has been processed, your reservation will not include your testing accommodations and you will be required to reschedule. This must be done each semester you use the CBTF.

If you have any issue during an exam, inform the proctor immediately. Work with the proctor to resolve the issue at the time before logging off. If you do not inform a proctor of a problem during the test then you forfeit all rights to addressing the problem you experienced during your exam.

Take the CBTF Orientation (https://go.illinois.edu/student-orientation) (10 minutes) and review all instructions on the CBTF website (https://cbtf.illinois.edu/students) before your first exam.

5Academic Integrity

5.1Collaboration

Collaboration includes

  • Giving information to others, such as by tutoring, working together, or posting solutions online.
  • Receiving information from others, such as from AI systems, websites, tutors, or other students.

Homework collaboration is permitted provided that each student ends up able to explain why their correct answers are correct.

Midterm collaboration is not permitted.

Machine problem collaboration is permitted if it focuses on shared learning. Machine problem collaboration is not permitted if it involves giving or receiving full or partial solutions. Additional guidelines are found on the MP page.

Observations about collaborating with AI

AI is a great tool for searching for documentation on unfamiliar libraries. Queries like how do I download a webpage using aiohttp are likely to provide useful information.

In Spring 2024, most student queries to AI that went beyond this yielded incorrect and confusing information. When AI systems were asked for full or partial MP solutions, they provided code that seemed promising at first but used problematic approaches that were almost impossible to fix and often led students into unproductive thought processes, creating confusion instead of being helpful. When AI systems were asked to debug code, they usually added more (and more confusing) bugs instead. Students that we know used AIs in these ways earned two letter-grade steps below the class average.

Don’t engage in prohibited collaboration with AI, but also be cautious in how much permitted collaboration you do with it. If it’s not giving answers that align with what we’ve discussed in class, stop before you get more confused, and seek human help instead.

5.2Consequences of Academic Misconduct

If a student is detected engaging in academic dishonesty on an assignment in CS 340 (including violating the collaboration or other course policies, abusing computer resources, lying, cheating, or stealing), the following will occur:

  • The case will be brought to the university, college, and department.
  • All points will be lost on the the assignment.
  • All extra credit will be removed from that student.
  • The final course grade will be lowered by one whole letter grade (10 percentage points).

A second incident, or any cheating on an exam, results in an automatic F in the course.

6Campus Resources

6.1Mental Health

Significant stress, mood changes, excessive worry, substance/alcohol misuse or interferences in eating or sleep can have an impact on academic performance, social development, and emotional wellbeing. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings which are covered through the Student Health Fee. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University’s resources provided below. Getting help is a smart and courageous thing to do for yourself and for those who care about you.

  • Counseling Center (217) 333-3704, 610 East John Street Champaign, IL 61820
  • McKinley Health Center (217) 333-2700, 1109 South Lincoln Avenue, Urbana, Illinois 61801
  • National Suicide Prevention Lifeline (800) 273-8255
  • Rosecrance Crisis Line (217) 359-4141 (available 24/7, 365 days a year)

This statement is approved by the University of Illinois Counseling Center

6.2Disability-Related Accommodations (DRES)

To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES, you may visit 1207 S. Oak St., Champaign, call 217-333-4603, e-mail [email protected] or go to https://www.disability.illinois.edu. If you are concerned you have a disability-related condition that is impacting your academic progress, there are academic screening appointments available that can help diagnosis a previously undiagnosed disability. You may access these by visiting the DRES website and selecting Request an Academic Screening at the bottom of the page.

6.3Anti-Racism and Inclusivity Statement

The Grainger College of Engineering is committed to the creation of an anti-racist, inclusive community that welcomes diversity along a number of dimensions, including, but not limited to, race, ethnicity and national origins, gender and gender identity, sexuality, disability status, class, age, or religious beliefs. The College recognizes that we are learning together in the midst of the Black Lives Matter movement, that Black, Hispanic, and Indigenous voices and contributions have largely either been excluded from, or not recognized in, science and engineering, and that both overt racism and micro-aggressions threaten the well-being of our students and our university community.

The effectiveness of this course is dependent upon each of us to create a safe and encouraging learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. Everyone is expected to help establish and maintain an environment where students, staff, and faculty can contribute without fear of personal ridicule, or intolerant or offensive language. If you witness or experience racism, discrimination, micro-aggressions, or other offensive behavior, you are encouraged to bring this to the attention of the course director if you feel comfortable. You can also report these behaviors to the Bias Assessment and Response Team (BART) (https://bart.illinois.edu/). Based on your report, BART members will follow up and reach out to students to make sure they have the support they need to be healthy and safe. If the reported behavior also violates university policy, staff in the Office for Student Conflict Resolution may respond as well and will take appropriate action.

6.4Community of Care

As members of the Illinois community, we each have a responsibility to express care and concern for one another. If you come across a classmate whose behavior concerns you, whether in regards to their well-being or yours, we encourage you to refer this behavior to the Student Assistance Center (217-333-0050 or http://odos.illinois.edu/community-of-care/referral/). Based on your report, the staff in the Student Assistance Center reaches out to students to make sure they have the support they need to be healthy and safe.

Further, we understand the impact that struggles with mental health can have on your experience at Illinois. Significant stress, strained relationships, anxiety, excessive worry, alcohol/drug problems, a loss of motivation, or problems with eating and/or sleeping can all interfere with optimal academic performance. We encourage all students to reach out to talk with someone, and we want to make sure you are aware that you can access mental health support at McKinley Health Center (https://mckinley.illinois.edu/). Or the Counseling Center (https://counselingcenter.illinois.edu/). For urgent matters during business hours, no appointment is needed to contact the Counseling Center. For mental health emergencies, you can call 911.

6.5Family Educational Rights and Privacy Act (FERPA)

Any student who has suppressed their directory information pursuant to Family Educational Rights and Privacy Act (FERPA) should self-identify to the instructor to ensure protection of the privacy of their attendance in this course. See https://registrar.illinois.edu/academic-records/ferpa/ for more information on FERPA.

发表评论

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