Instructor and office Hours
- Email: jarrett@cs.pitt.edu
- Office: 6509 SENSQ. On the 6th floor from the elevators, face the bathrooms, and go left. Go right and immediately left. On the right you will see a short hallway numbered 6515, with a paper sign on the door saying what rooms are inside it. My office is the one at the end on the left.
- Office hours: Mon/Wed 12:20-2:30; Tue/Thu 12:20-2:00.
- Discord hours: After 12PM (noon) EDT and before 9PM EDT, most days (except during class duh)
- yes I’m probably on later but sometimes I close Discord so I can get work done so don’t rely on it
Lectures
- (SEC 1300, CRN 27902) Tue/Thu 11:00-12:15 in 105 LAWRN
Teaching Assistants
- Grader: Shinwoo Kim (shk148)
- Recitation TAs:
- Fri 1:00: David Teklea (dgt12)
- Fri 3:00: Delaney Scheidell (des244)
- TA Office Hours and rooms:
- David: Mon 3:00-4:00, Tue 2:00-4:00 in 1A04 IS
- Delaney: Mon 9:00-10:45, Tue/Thu 2:00-3:30 in 6508 SENSQ
Recitations
You should go to recitation. They’re there for you to get guidance on the labs and projects, review for exams, and ask questions. Most students get a lot out of recitation.
- Fri 1:00 in 5129 SENSQ with David
- Fri 3:00 in 5129 SENSQ with Delaney
Optional Textbooks
I’m sorry I’m not really a Book Person and with very few exceptions I don’t learn from books. These are the official textbooks according to the department but I don’t use them. If you’re a Book Person maybe they’d be useful to you.
- Computer Systems: A Programmer’s Perspective, 3rd Edition (2016) by Randal E. Bryant and David R. O’Hallaron
- Never looked at it. Can’t tell you what’s in it.
- The C Programming Language, 2nd Edition (1988) by Brian W. Kernighan and Dennis M. Ritchie, aka “K&R C”
- Dennis Ritchie was the creator of C! Brian Kernighan worked on the original Unix!
- A book that everyone says you need to have but I’ve done fine without it lol
Grading
Your performance is your own. I do not “give” grades, you earn them. I also don’t announce averages/medians/etc. for the same reason. This is a class, not a competition.
Your grades are available on Canvas.
Labs (x8): | 10% |
Projects (x4): | 40% |
Exams (x2): | 50% |
- Each lab is only worth 1.25% of your final grade, but…
- You really have to do the labs if you want to be able to do the projects.
- You will have a much harder time on the projects if you skip the labs.
- Labs cannot be turned in late, but projects can be turned in 1 day late for a 10% penalty.
- The second exam is not cumulative.
The grading scale (look closely):
90-93% | A- | 94-96% | A | 97%+ | A+ | ||
80-83% | B- | 84-86% | B | 87-89% | B+ | ||
70-73% | C- | 74-76% | C | 77-79% | C+ | ||
60-63% | D- | 64-66% | D | 67-69% | D+ | ||
<60% | F |
I do round percentages after all other calculations have been done. So if your grade calculates as a 93.5%, it will be rounded up to 94% and be an A. This is done automatically by Canvas - when it comes time to look at your final grade, pay attention to the letter grade, not the percentage.
I am not a professor where “a 40% is a B” is the norm, so I haven’t needed to curve anything in years, as the grade distributions are usually well-balanced. So the answer to “is this going to be curved?” is virtually always “no.”
Communication
Announcements are sent through Canvas, which also sends them through email. Please be sure to check your email regularly or set your phone up to notify you.
There is an online chatroom through Discord. Check the pinned announcement on Canvas for the link. Here is a page with some basic info if you are new to using Discord.
If you need help, post a one-sentence description of your problem first in the channel for your class (e.g. #cs0447
). From there, I or one of the TAs will be able to help you! But do not post more than 2-3 lines of code in public. Because that would be sharing code, which is against the rules below.
Late Policy
Projects and labs are due for full credit at 9:00 PM on the due date. I’m not super strict about it, so don’t worry if you turn it in a little past that.
Projects (but NOT labs) can be turned in late by 9:00 PM on the next day. There is a 10 percent penalty for late submission, taken off after all other grade calculations (e.g. extra credit).
Labs cannot be turned in late, and there is no “late penalty” for labs. Either you turn them in on time or you don’t.
If you have a major problem that means you can’t turn in a lab or project on time, contact me and explain what’s up; I’m pretty accommodating. But that doesn’t mean I’ll always give one, so don’t take it for granted.
Correct Submission Policy
It is your responsibility to submit the correct file(s) for all assignments. If you submit the wrong file (e.g. an earlier unfinished version, or the wrong assignment, or a starting file), you will be asked to resubmit what you have, but you will get a 20 percent penalty for it.
For projects, this stacks with the late penalty - if you turn the wrong file in, and you do it late, that will be 30 percent off.
Do not attach the corrected file to a Canvas comment on your assignment. Graders will never grade these. Instead you will be asked to resubmit as normal.
Academic Integrity
In the real world, people work together to solve problems. This is not the real world. This is an artificially created environment designed to evaluate your understanding of the material being taught.
To that end, you must do all graded work yourself. That means that every piece of every lab, project, and exam must be your own work, not taken from anyone (or anything) else.
There are two exceptions:
- you are allowed to get help from me (the instructor), the TAs, and departmental peer tutors.
- this includes any materials I provide (examples, starting code etc.)
- for labs only, you may discuss the lab with one other student.
- but you must still both do your own work and make your own submissions.
- you cannot share/split up the work in any way.
- you cannot look at each others’ work for any reason.
- you cannot describe your solution to someone else for any reason.
- (for projects, you are not allowed to discuss the project with any other student.)
- but you must still both do your own work and make your own submissions.
When you violate academic integrity, you are either lying about your skills, or helping someone else lie. Dishonesty can pay off in the short term, but in the long term it will catch up with you. Here, you might fail a course and have to retake it. In the real world, you might get fired or sued.
The following things are all violations of academic integrity:
- Showing your work to - or receiving work from - another student in this or any other class, for any reason
- Working on an assignment together (there are no group assignments in this class)
- Using someone else’s work “as reference” (protip: there is no such thing, that is just cheating)
- Using online resources, for example (but not limited to) StackOverflow, Reddit, Chegg, etc.
- Using solutions that previous students have made publicly available on GitHub, GitLab etc.
- Using a large language model (e.g. ChatGPT, Github Copilot) to write any part of any assignment
- Getting solutions directly from someone who previously took the course
- Paying someone to do your work for you (I am aware of sites like powcoder.com)
- Getting exams from previous students
- Writing things on your hands, pencil case, water bottle etc. to look at during exams
- I am sure there could be dozens more examples here but I think you get the point.
None of the following are valid excuses for violating academic integrity:
- “I was confused”
- Then you should have asked for help.
- “I didn’t want to bother you by asking a bunch of questions”
- That’s literally my job. I am here to answer your questions.
- I am sorry if I come across as intimidating. I wish I were less like that. I really do want to help you.
- “My friend was struggling and I didn’t want to see them fail”
- I know that’s a difficult situation, but you should tell me that they need help.
- You are most likely setting them up for failure in the future.
By the way, if you start to violate academic integrity, you can stop. As long as you don’t turn in what you started “getting help” on, if you come to me and admit it, you won’t get any penalties. I may give you more time to finish the assignment on your own, but don’t count on it. Where it crosses the line from “making a mistake” to “facing the consequences” is when you turn in something that you did not do yourself 100%.
If I believe you have violated academic integrity, the following process will occur:
- I will contact all involved students to ask to meet in person.
- I will present my evidence, and you will have a chance to explain yourselves.
- If it is determined that a violation did occur:
- I will decide the sanction to be imposed (see below).
- I will write up a digital report about the violation.
- You will digitally sign that report, where you can either accept the sanction or appeal.
- If you appeal, we will set up a meeting with the department chair and go from there.
- In all cases (whether or not you appeal), you are still welcome to attend class, do work, etc. (Yes, even if the sanction was “you get a 0 for the course”)
- Furthermore, that report will be:
- Kept internally in SCI for our recordkeeping
- Will not appear on your transcript except in very severe cases
Sanctions for academic integrity violations are as follows:
- For labs: either a 0 for the lab or a 0 for the lab portion of the course grade, depending on severity.
- For projects: either a 0 for the project or an F for the course, depending on severity.
- For exams: either a 0 for the exam or an F for the course, depending on severity.
- If there are multiple infractions, it is an automatic F for the course.
Last, I know you may be proud of your work and want to show it off to the world, but this makes our job much, much harder in the future. Please do not post your work publicly online. I know you want to post your work to show to potential employers. It is possible to make private repos and invite them to them in that case (as a student, you get free features on GitHub).
Behavior
You are expected to behave respectfully to your fellow students, the instructor, and the teaching assistants.
Jokes or comments about sex, gender, race, ethnicity, religion, etc. will not be tolerated. This is not Reddit or 4Chan. Behave as if you were a professional: keep the discussion about the subject at hand and try not to bring personal issues into it.
These rules apply not only to lecture, but also recitations, office hours, online chats, emails, etc.
Religious Observances
If a religious observance will prevent you from attending recitation/exams/being around to submit projects, please contact me as early as possible in the term about them so we can make accommodations.
Disabilities
If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and the Office of Disability Resources and Services (216 William Pitt Union; 412-648-7890; TTY: 412-383-7355) as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.