General Information
Instructor
Matt Bishop
Phone: (530) 752-8060 (not a cell phone)
Office: 2209 Watershed Sciences
Office Hours: to be arranged
Email: [email protected]
Web site: http://seclab.cs.ucdavis.edu/~bishop
When you send me email, please begin the subject field with “ECS 36A” so I see that the letter has to do with the class. I receive lots of email and, while I look at it all, I sometimes miss things, or skim the subject lines to see which letters are very important. Putting “ECS 36A” in the subject field will tell me it is very important.
Teaching Assistant
Chris Jackson Fernandez, Email: [email protected]
Office Hours: to be arranged
Lectures
TuTh 10:30am–11:50a in 1310 Walker
Discussion Sections
Section A01: Tu 8:00am–8:50am in 1214 TLC
Section A02: Th 8:00am–8:50am in 1214 TLC
Section A03: F 8:00am–8:50am in 212 Wellman
The sections will cover the same material so you can go to any of the sections.
If section meetings become too crowded, we reserve the right to change this policy.
Student questions may vary among the section meetings.
Course Outline
Computers and computer programming for students with some prior experience, algorithm design, and debugging. Good programming style. Use of basic UNIX tools.
Course Goals
Some goals we hope you achieve:
- develop expertise in using a high-level programming language (specifically, C);
- be knowledgeable in using basic operating system tools (specifically, Linux- or UNIX-based tools);
- develop good programming style; and
- develop into competent programmers with the ability to solve problems of reasonable size on a computer.
Prerequisite
Prior experience with basic programming concepts (variable, loops, conditional statements) required, and must satisfy computer science placement exam; or C− or better in ECS 32A.
Texts
- Programming in C, zyBooks, http://www.zybooks.com
To use this, sign into http://learn.zybooks.com (you may need to create an account), and enter the zyBook code “UCDAVISECS036ABishopSpring2024” (without the quotes). You can then subscribe. It costs $64.00.
Important: I am told that a subscription through the UC Davis Bookstore is $57.60. If you are on equitable access, you have already paid.
- Shell textbook: William E. Schotts, Jr., Linux Command Line: A Complete Introduction, No Starch Press, San Francisco, CA, USA (2012). ISBN: 978-1-59327-389-7.
Available online at https://sourceforge.net/projects/linuxcommand.
Useful Notes on C
Class Web Site
The class web site is on Canvas.
To access it, go to http://canvas.ucdavis.edu and log in using your campus login and password.
Then go to ECS 36A in your schedule.
Announcements, assignments, handouts, and grades will be posted there,
and you must submit any assignments there. The alternate web site,
http://nob.cs.ucdavis.edu/classes/ecs36a-2023-02
has everything except grades, and you cannot submit work there.
PTA Numbers
The department policy on issuing PTAs is available at https://cs.ucdavis.edu/policies; click on the bar “Permission to Add (PTA) Policy for Undergraduates”. If you need a PTA, please follow the instructions there.
Exams
Midterm: Thursday, May 2 Tuesday, May 7, in class
Final: Friday, June 12 at 8:00am–10:00am
These will be closed book and closed notes exams. No early or late exam will be given; if you miss an exam for medical reasons (you must document this; no other excuses are acceptable), you may be allowed or required to take a make-up exam, or the other parts of the course will be counted proportionally more (the choice is the instructor’s). In particular, forgetting the time or place of an exam is not an excuse for missing it!
Important Dates
- First day of instruction: April 1, 2024
- 10-day drop deadline: April 12, 2024
- Last day to add: April 16, 2024
- Midterm exam: May 3, 2024
- Last day to opt for P/NP grading: May 24, 2024
- Last day of instruction: June 6, 2024
- Final exam: June 12, 2024 from 8:00am to 10:00am
Grading
In this course, grades are assigned based on your overall score,
which is out of 100 points.
The letter grades, and the scores they are assigned to, are:
grade | % | grade | % | grade | % | grade | % | grade | % |
| | B+ | 87–89.99 | C+ | 77–79.99 | D+ | 65–69.99 | | |
A | 95–100 | B | 83–86.99 | C | 73–76.99 | D | 60–64.99 | F | 0–54.99 |
A− | 90–94.99 | B− | 80–82.99 | C− | 70–72.99 | D− | 55–59.99 | | |
Curve. The final grade will be curved before considering extra credit.
Individual assignments and exams will not be curved.
Extra Credit. Extra credit is tallied separately and does not figure into the
scores for assignments. At the end of the term, I will use the extra credit to determine whether to boost your grade should your score be on the border of 2 grades.
- Homework assignments: 40%
- Midterm exam: 25%
- Final exam: 35%
Important Note. We reserve the right to change any of the grading scheme, curve, extra credit, and weighting.
Academic Integrity
The UC Davis Code of Academic Conduct, available at http://sja.ucdavis.edu/files/cac.pdf, applies to this class. For this course, all submitted work must be your own. You may discuss your assignments with classmates or the instructor to get ideas or a critique of your ideas, but the ideas, words, and programs you submit must be your own. Unless explicitly stated otherwise, collaboration is considered cheating. Also, remember to cite, and give the source for, anything you copy or paraphrase, as is standard academic protocol. Plagiarism, even (especially) copying code from a book or the web without crediting it, is cheating. It also deprives you of learning, as the goal is not simply to write the program, but is to learn how to analyze a problem and learn C.
The single exception to the rule against collaboration is debugging. Once you have written your program, if you need help debugging it, you are free to ask a classmate for help providing that classmate has also written the program. (This should avoid any unintentional copying.) Sometimes having someone else look over a program that is not quite working right will lead you to the best way to fix it, and you both will gain valuable experience in looking at programs and figuring out what is going on. But you must not collaborate on writing the program.
Any cheating will be reported to the Office of Student Support and Judicial Affairs.
Resources for Students
For information about the COVID campus policy, please see the Campus Ready web page at https://campusready.ucdavis.edu/. In particular stay home if you are sick!
For other campus information, please see the Frequently Asked Questions — UC Davis Student Resources web page at https://ebeler.faculty.ucdavis.edu/resources/faq-student-resources/.
Students new to the campus often feel overwhelmed, depressed, or to have other mental health issues. This also happens to students who have been here a while! So if you want to talk to someone, or get help, there are resources available. Look at the Aggie Mental Health Resources web page at https://mentalhealth.ucdavis.edu/. In particular, don’t feel embarrassed or that it’s a sign of weakness to get help. It’s actually quite natural and is in fact a sign of strength that you care enough about yourself to do it!