Final grades will be assigned with these proportions:
- Programming Assignments: 40%There will be five programming assignments, eight (8) points each. You could choose to work in pairs for each programming assignment. There are three slip days that you can allocate to programming assignments throughout the semester. When you use a slip day, it lets you turn in the assignment 24 hours late without penalty. Aside from that, late work will not be accepted and will count for zero points.
- Midterm Exam: 25%The midterm exam will include all the materials up until the second last lecture before the midterm.
- Final Exam: 35%The final exam will include everything (i.e., both before and after the midterm). The final will take place in the ordinary final slot, which hasn’t been finalized for this semester yet. The final exam is intentionally proportioned to worth almost twice as much as the midterm. After all, it is what you know in the end that matters the most.
How to Prepare
Please participate in class! Ask questions. If there’s something you don’t understand, make me stop and explain it again. There are two reasons you want to do so:
- First, there are probably a dozen people sitting around you who didn’t understand it either, but don’t have the guts to say so. They will love you for helping them out.
- Second, the course will continually build on the knowledge you have previously gained in the course. It probably is not a good idea to let things slide and try to catch up at the last minute.
You are strongly encouraged to form study groups, and share your insights as well as challenge each other’s mastery of the material. There are two reasons why you want to do so:
- First, mastery, rather than memorization, of the material will be very important to success in this course. The exams are geared to testing your deep understanding, and not your ability to memorize. Study partners can provide the necessary foil to test whether you really understand the material. Statistically, if you form an effective study group, you will probably all do better in the course than if you go it alone.
- Second, all engineering jobs are about working in teams, and you are encouraged to do so early in CSC 252 to better prepare for life after graduation.
Read the textbook! We will not take attendance, but we highly encourage to come to class. But if you have to skip a class, one great way of making up for it is to read the textbook. The textbook also includes a variety of practice exercises, interspersed with the rest of the material. You should plan to do these exercises as you go along, and to check your answers against the solutions at the end of each chapter.
Challenge assumptions. You are encouraged to ask questions after you have thought about the material, and to challenge assumptions. Computer Organization deals with “nature” that is made by people and so we the people may have made it wrong. The recent security flaws found in almost all modern computer designs is a great example.
Inclusiveness in Class
Everyone — the instructor, TAs, and students — must be respectful of everyone else in this class. All communication, in class and online, will be held to a high standard for inclusiveness: it may never target individuals or groups for harassment, and it may not exclude specific groups. That includes everything from outright animosity to the subtle ways we phrase things and even our timing.
For example: do not talk over other people; don’t use male pronouns when you mean to refer to people of all genders; avoid explicit language that has a chance of seeming inappropriate to other people; and don’t let strong emotions get in the way of calm, scientific communication.
If any of the communication in this class doesn’t meet these standards, please don’t escalate it by responding in kind. Instead, contact the instructor as early as possible. If you don’t feel comfortable discussing something directly with the instructor — for example, if the instructor is the problem — please contact the advising office or the department chair.
Student conduct in CSC 252 is governed by the College Academic Honesty Policy and the Undergraduate Laboratory Policies of the Computer Science Department. The teaching staff will enforce them aggressively and strictly. The following are additional details specific to CSC 252.
Exams in CSC 252 must be strictly individual work.
Collaboration on assignments among team members is of course expected. Collaboration on assignments across teams (or among individuals on non-team-based assignments) is encouraged at the level of ideas. Feel free to ask each other questions, brainstorm on algorithms, or work together at a whiteboard. You may not claim work as your own, however, unless you transform the ideas into substance by yourself. This means you must leave any brainstorming sessions with no written notes.
Similarly, you are welcome to read anything you find on the web, but you must close all web pages before beginning to write your code. You are not permitted to repeatedly consult a source. You can read it, understand it, put it away, and write your own similar code, but you must not copy anything. Both electronic copy-and-paste and copying through short-term memory are expressly forbidden.
To minimize opportunities to steal code, all students must protect the directories in which they do their work.
For purposes of this class, academic dishonesty is defined as:
- Any attempt to pass off work on an exam that didn’t come straight out of your own head.
- Any cross-team collaboration or copying of artifacts (substance) in which the collaborating parties don’t clearly and prominently explain exactly who did what, at turn-in time.
- Any activity that has the effect of significantly impairing the ability of another student to learn. Examples here might include destroying the work of others, interfering with their access to resources, or deliberately providing them with misleading information. (Note too that grades in CSC 252 are assigned on the basis of individual merit, so there is no benefit, even a dishonest one, to be gained by sabotaging the work of others.)
Posting homework and project solutions to public repositories on sites like GitHub is a violation of the College’s Academic Honesty Policy, Section V.B.2 “Giving Unauthorized Aid.”
Finally, if you have any questions about what is permitted and what is not, please ask!