4/14/2021 Syllabus: CSC209H1 S LEC0101 20211:Software Tools and Systems Programming https://q.utoronto.ca/courses/204484/pages/syllabus 1/7 Syllabus Calendar Description Software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the operating system when programs are executed. Core topics: creating and using software tools, pipes and filters, file processing, shell programming, processes, system calls, signals, basic network programming. Instructors Sections Lectures Email Karen Reid L0101, L0201 L5101 T2-3, R2-3 T 6-8 csc209-2021-
[email protected] (mailto:csc209-2021-
[email protected])Nathan Wiebe L0301 T2-3, R2-3 Office Hours Karen - Mondays 3-4:30, Wednesdays 9-10am, Thursdays 3-4:30 (Karen's classroom zoom) Nathan - Tuesdays, Thursdays 3-4 (Nathan's classroom zoom) Labs You have signed up on ACORN for a separate tutorial/lab time slot. These labs will be held using BbCollaborate or Zoom. The number of different sessions in each time slot may change based on attendance patterns. The primary purpose of the labs is to help you complete the weekly labs. Please check the Labs (https://q.utoronto.ca/courses/204484/pages/labs) link to the left each week to confirm where the lab will be held. Professionalism in CSC209 We are committed to creating a respectful learning environment in CSC courses for all students and expect that you will adhere to the University of Toronto Code of Student Conduct (http://www.viceprovoststudents.utoronto.ca/publicationsandpolicies/codeofstudentconduct.htm) . Please be mindful of how your behaviour influences the atmosphere in our learning community, not just in classes, but also in computer labs, in online forums, and anywhere that you interact with other students and members of the department. 4/14/2021 Syllabus: CSC209H1 S LEC0101 20211:Software Tools and Systems Programming https://q.utoronto.ca/courses/204484/pages/syllabus 2/7 Course Materials C Programming: A Modern Approach (http://knking.com/books/c2/index.html) , K.N. King, W. W. Norton and Company, 2008. Note: The C book (or another similar) should be considered required. This is a particularly good book for learning C and online resources are not as good or plentiful as they are for other languages. The Linux Programming Interface (http://man7.org/tlpi/index.html) , Michael Kerrisk, No Starch Press, 2010 (errata (http://man7.org/tlpi/errata/index.html) ). This book is recommended. Some students like to have the additional resource for the systems programming part of the course, and other get by fine without it. This book won’t be used until about halfway through the course Handouts, assignments, marks, and important course information will be posted periodically on Quercus. You should visit regularly to check. Important assignment announcements will be posted on the discussion board (Piazza). You are responsible for announcements made in class, on the web page, and on pinned instructor posts on Piazza. Discussion Board - Piazza The discussion board is the best place to ask technical questions, and general questions about the course, assignments and labs. Email Please use the course email address
[email protected] (mailto:csc209-2021-
[email protected]) for personal questions and the discussion board for all other course-related questions. We will try to respond to email by the end of the next business day. However, due to volume, it may take longer. Please send email from your UofT email address and include your full name and UTORid. Course Prerequisites To take CSC209, you must have previously completed CSC207 (or CSCB07 at UTSC) or have the permission of the instructor. Students who have self enrolled in the course but do not have this prerequisite and have not discussed this with the instructor, will be removed from the course automatically at the end of the second week. Marking Scheme and Schedule Work Weight Deadline 4/14/2021 Syllabus: CSC209H1 S LEC0101 20211:Software Tools and Systems Programming https://q.utoronto.ca/courses/204484/pages/syllabus 3/7 Work Weight Deadline Lecture Preparation (PCRS) 5% Tuesdays before 1:30pm Lab Exercises 12% (best 9 of 10) Fridays before 6:30pm A1 – C basics 7% Wednesday 3 February before 5:00pm Test 1 14% Friday 12 February (no lab this week) A2 – System Calls 10% Wednesday 3 March before 5:00pm (update 24 Feb) Test 2 14% Tuesday 16 March (no lecture that day) A3 – Processes 10% Wednesday 24 March before 5:00pm A4 – Communication 8% Friday 9 April before 5:00pm (extended to A Test 3 20% Friday 16 April (Duration 1 hour 50 minutes. time window: 2pm to 8pm EST) Lecture Prep and Exercises Research consistently shows us that students remember only a small fraction of what we present in lecture. It is not easy to make sense of material that you see for the first time in the first half-hour of a fast-paced lecture environment, let alone to stay focused for two hours. It’s also important to space out your studying (spaced repetition). To prime you for what we will discuss, you will view a set of videos and complete exercises by 1:30pm Tuesdays. These are the “Preparation” exercises hosted on PCRS: https://pcrs.teach.cs.toronto.edu/csc209-2021-01 (https://pcrs.teach.cs.toronto.edu/csc209-2021-01) . Tests Tests 1 and 2 will be 1.5 hours in duration and tests 3 will be 2 hours. Each test will likely have two components: the first will be completed on Quercus, and the second will be completed on MarkUs. Once you start a component, you will have a fixed amount of time to complete that component. You will have at least an 8 hour time window in which to begin and complete the test. Precise details will be published in the week before the test. Late submissions: For the portion of the test that is administered on MarkUs, you will be uploading files containing the answers to questions. If you want us to consider files submitted after the test duration has expired, you need to send email to the course email address, and there will be a 5% 4/14/2021 Syllabus: CSC209H1 S LEC0101 20211:Software Tools and Systems Programming https://q.utoronto.ca/courses/204484/pages/syllabus 4/7 penalty for each 2 minutes late. After 10 minutes no further submissions will be accepted. (The penalty applies to the full MarkUs portion of the mark.) Assignments Assignments will be programming assignments in C and will be done individually. Assignments will be submitted using MarkUs and Git. You are expected to have working knowledge of Git from CSC207 or prior experience. Assignment code must execute correctly on the teach.cs machines. Policies Minimum Standards for Submitted Work: For your assignment to be graded, it must meet the minimum standards of a professional computer scientist. All files required to build the program must be committed to the repository, and the program must compile without warnings or errors. Your submission will receive a grade of 0 if it doesn’t compile. Your submission will receive a 10% deduction in the total marks if it compiles with warnings. Late Work: The late policy is strict. All exercises and assignments will be submitted electronically. Lab exercises are due before 6:30 pm on the Fridays. Labs submitted late will not be counted. Lecture preparation completed after 1:30 pm on Tuesdays will not be counted. Assignments are due before 5:00pm on the due date. We recognize that unexpected problems sometimes make it difficult to submit assignments on time. For this reason we will accept limited late assignments with a penalty. There is a one hour grace period after the assignment is due in which no late penalty is applied. For the next five hours after the deadline, the deduction will be 5% (of the total possible mark) per hour. For the next five hours, the additional deduction will be 15% per hour. Here it is broken down by hour: On time no penalty up to 1 hour late no penalty up to 2 hours late 5% penalty up to 3 hours late 10% penalty up to 4 hours late 15% penalty up to 5 hours late 20% penalty up to 6 hours late 25% penalty up to 7 hours late 40% penalty up to 8 hours late 55% penalty up to 9 hours late 70% penalty up to 10 hours late 85% penalty after 10 hours late 100% penalty 4/14/2021 Syllabus: CSC209H1 S LEC0101 20211:Software Tools and Systems Programming https://q.utoronto.ca/courses/204484/pages/syllabus 5/7 Please note that 5:00:01 p.m. will be considered late, and ensure that your work is not submitted at the very last second. Because you will be using version control, it is very easy to commit regularly to avoid running into the deadline. If you are at risk of missing a deadline due to a busy week, you should hand in a working (and tested) version of a simpler program. This will be easy to do if you have written and debugged a series of programs that accomplish more and more of the assigned problem. In the event of an illness or other catastrophe, contact your instructor (by email or in person) as soon as possible. Do not wait until the due date has passed. It is always easier to make alternate arrangements before the due date or test day. Since your assignments are submitted electronically and will often be tested using an automated testing program, you must follow the submission instructions exactly. If you do not, you will most likely lose substantial marks on the assignment. Check your submission carefully. Religious Holidays: If a religious holiday will keep you from completing any assigned work, please let your instructor know as soon as possible (but no later than two weeks before the due date), and we will work out a mutually agreeable accommodation. Remark Requests: All remark requests must be submitted within two weeks of the marks being returned. No late requests will be accepted. There are two different types of remark requests: Remarking requests due to mis-marking. If a piece of work has been mis-marked, you may request a remark. For a remark to succeed, you must clearly and concisely express what you believe was mis-marked. 1. To request a remark for an assignment, submit the remark request on MarkUs. To request a remark for a midterm, submit the request via the course email address. 2. Provide a clear and concise description of the marking errors that you have found. Please be aware that your entire assignment/test may be remarked. Remarking requests due to incorrect submissions. This type of remark request is only for Assignments; remarks of this type are not permitted for labs (instead, labs have a best 9 of 10 marking policy). If you lost a considerable number of marks for what you have determined is a small error: 1. You can submit a remark request on MarkUs that includes a very clear explanation of the error and describes how one or two lines of code should be changed in order to fix the error. 2. You should re-submit your assignment with the changes described above made to fix the error (again, this should only involve a line or two of code). 3. There will be a 20% penalty for this fix, so you should only ask for it if you think you will gain more than 20% of the total marks. 4/14/2021 Syllabus: CSC209H1 S LEC0101 20211:Software Tools and Systems Programming https://q.utoronto.ca/courses/204484/pages/syllabus 6/7 Special Consideration If you find that illness or other emergency is preventing you from being able to complete homework on time, or write a test, please follow these two steps: 1. Fill in the Absence Declaration Form (https://www.artsci.utoronto.ca/covid19-artsci-student- faqs#fw2021-absence-declaration-accordion-2) (https://www.artsci.utoronto.ca/covid19-artsci- student-faqs/download?download_frd=1) on ACORN 2. Complete the SpecialConsiderationForm.pdf (https://q.utoronto.ca/courses/204484/files/11634084/download?wrap=1) (https://q.utoronto.ca/courses/204484/files/11634084/download?download_frd=1) and email it to the course account (
[email protected] (mailto:
[email protected]) ) from your UofT email address. We will try to respond to your request within 1-2 business days. You will be required to affirm that you are abiding by the Code of Behaviour on Academic Matters (http://www.governingcouncil.utoronto.ca/Assets/Governing+Council+Digital+Assets/Policies/PDF/ppjun 011995.pdf) , in particular that it is an offence to engage in any form of cheating, academic dishonesty or misconduct, fraud or misrepresentation not herein otherwise described, in order to obtain academic credit or other academic advantage of any kind that is, that you are truly experiencing an emergency, and acknowledge that to falsely claim so is an academic offence. Please note that a heavy workload or coinciding due dates do not constitute an emergency. Applying does not guarantee that you will be granted special consideration. IMPORTANT: Submit your request soon as possible if you find yourself in such a situation. It is easier to resolve situations earlier rather than later. If your emergency will affect your ability to complete coursework for more than a few days, or in multiple courses, we recommend you also talk to your registrar. Academic Integrity All of the work you submit must be done by you and your work must not be submitted by someone else. Plagiarism is academic fraud and is taken very seriously. The department uses software that compares programs for evidence of similar code. Please read the Rules and Regulations (http://www.governingcouncil.utoronto.ca/policies/behaveac.htm) from the U of T Calendar (especially 4/14/2021 Syllabus: CSC209H1 S LEC0101 20211:Software Tools and Systems Programming https://q.utoronto.ca/courses/204484/pages/syllabus 7/7 the Code of Behaviour on Academic Matters). Here are a couple of guidelines to help you avoid plagiarism: If you find snippets of code or examples on the web that you want to use in your work, you must cite your sources. In other words, include in a source code comment, a link to where you found the code you are using. Maintain absolute control of your work – including notes and partial solutions – at all times. We encourage you to discuss course concepts and to study for exams with other students, but any work that is submitted should be your own. The easiest way to avoid plagiarism is to only discuss submitted work with your instructors and TAs. Similarly, Google (and Wikipedia) may help you with course material, but do not use the internet to look for solutions to the assignment problems. Accessibility Needs The University of Toronto is committed to accessibility. If you require accommodations for a disability, or have any accessibility concerns about the course, the classroom or course materials, please contact Accessibility Services as soon as possible:
[email protected] or https://www.studentlife.utoronto.ca/as (https://www.studentlife.utoronto.ca/as) . Video Recording Course lectures, possibly including your participation, will be recorded on video and will be available to students in the course for viewing remotely and after each session. Chat sessions will not be posted. Course videos and materials belong to your instructor, the University, and/or other sources depending on the specific facts of each situation, and are protected by copyright. Do not download, copy, or share any course or student materials or videos without the explicit permission of the instructor. For questions about recording and use of videos in which you appear please contact your instructor. Pet Policy: If a pet enters the camera frame during class, we will likely pause our discussion for an introduction to that pet and admiration by all. Dogs, cats, rabbits, hamsters, birds, snakes, iguanas, etc. are all welcome. (from @koonscc (https://twitter.com/koonscc/status/1344137486696636417) )
欢迎咨询51作业君