CompSci 142 / CSE 142
Winter 2018 | News | Course Reference | Schedule
| Project Guide
This webpage was adapted from Alex
Thornton’s offering of CS 141
CompSci 142 / CSE 142: Interpreters and Compilers
Winter 2018, 8– 9:20am Tue Thu, HH 178
Instructor information
Harry Xu
Office: DBH 3212
Email: harry.g.xu@uci.edu
Office hour: Thursday 9:30-11:00am
Contacting me: I prefer to be reached by email.
Teaching assistant
In
addition to me, this course is staffed by two teaching assistants and a reader,
who will be attending the lab sections, and will be the primary point of
contact with regard to the grading of projects.
Aftab Hussain (aftabh@uci.edu), TA
Office: DBH 3241
Office hour: Wednesday 11:00am-12:00pm
Times and places
Lecture
The
lecture meets on Tuesdays and Thursdays from 8-9:20am in HH
178. Given the course's size, attendance is not graded, but we certainly
recommend it. (Naturally, attendance is required on the days when exams are
held, which are listed in the Schedule.)
Labs
There
are three lab sections, meeting on Fridays at the following times and
locations.
While
you are required to be enrolled in a lab section, you are generally free to
attend lab sections whenever you need them, regardless of which lab section you
are enrolled in, with this caveat: you will only be guaranteed a seat in your
enrolled lab section — and, hence, it is possible that you may occasionally be
asked to leave to make room for someone else if we are beyond full capacity and
you are not officially enrolled in a section.
While
it is not a required part of the course, and nothing will be graded in the labs
this quarter, attendance does offer some significant benefits:
The
labs will begin meeting on Friday, January 12.
Textbooks
Compilers: Principles, Techniques, and Tools, by Aho, Lam, Seth, and Ullman, known as
"The Dragon Book" (Second Edition)
Slides and other materials
All slides and other
materials can be found on the EEE course dropbox.
Obtaining additional assistance
Asking questions of course stuff
You
can most easily get course questions answered by coming to lecture, a lab section,
or office hours and asking them. I am happy to help you in person when I'm
available. You can also ask questions by sending email to me or your TA (or
both); we check our email frequently throughout the day, so you can usually get
an answer to course-related questions within a few hours (and often much more
quickly). If the questions require a complex or lengthy response, we may ask
you to see one of us in person. As projects approach their due date,
particularly on days when projects are due, we begin to receive quite a bit of
email all at once, so we may not be able to respond to all messages before the
project is due. We aren't ignoring you on purpose, but unfortunately it's not
always possible for the relatively small course staff to answer questions from
a large number of students at once.
Accommodations for disabilities
Any
students who feel that they may need an accommodation based on the impact of a
disability should contact me privately to discuss these specific needs. Also,
contact the Disability Services Center online
at (949) 824-7494 as soon as possible to better ensure that such
accommodations, such as alternative test-taking environments or note-taking
services, can be arranged for you in a timely way.
Grading
Weights of graded artifacts
Your
course grade will be determined from the weighted combination of your scores on each of six projects, one Midterm,
and one Final Exam. The weights of each of these are:
Determining final grades
Course
grades will be curved. My grading policy is as follows:
The top 10% students will get an A; 10%-20% will get an A-;
20%-30% B+; 30%-40% B; 40%-50% B-; 50%-60% C+; 60%-100% C, C-, D.
A student will fail the class only if both of the following
conditions hold:
(a) He/she is in the bottom 5%, and (b) His/her overall grade is below 60.
If
you're curious about how you're doing in the course, I'm happy to discuss your
estimated grade at any time. It's generally best to have this conversation in
person, so that we can explore issues other than just the raw numbers; I'm
happy to have this conversation at any time that I'm available, and I'm also
glad to do it via email if we can't find a mutually available time.
Dropping the course or changing grade option
Through
the end of Week 2 (Friday, January 19), you may drop the course by simply going
to WebReg and dropping it. If you wish to drop the course after that date, you will
need to use the Enrollment Exceptions system to request a drop; I do not have
the final say over those, ultimately, as the Dean of the Bren School (and your
major, if you are majoring in something outside of the Bren School) must
approve them. It is not generally the case that an exception will be accepted
simply because you're not doing well in a course, though extenuating
circumstances are certainly considered.
Similarly,
changing your grade option (to Pass/NotPass or back again) can be done via WebReg
through the end of Week 2 (Friday, January 19), after which you must use the
Enrollment Exceptions system to request the change. As with exceptional drops,
you must receive approval from the appropriate Deans.
Academic honesty
The policy—avoid cheating!
As
CompSci 142 or CSE 142 students, you are expected to know and follow the
academic honesty policies of both the Bren School of ICS and the University as
a whole. Please take a few minutes to read the policies, which can be found at this link.
All
of your project work is expected to be completed solely by you. Worker
in larger groups and/or sharing of code or solutions between students is not
permitted. Note that "high-level discussion of course material for better
understanding" is permitted and encouraged, but when it comes time to sit
down and write code or other graded artifacts, that is expected to be done by
you and you alone. All submissions are compared to one another using an
automated plagiarism detection system. This system is extraordinarily good at
finding similarities between submissions, even when there are superficial
differences. (Note that we also compare your submissions to those submitted
during previous quarters whenever one of these assignments was given during a
previous quarter, so it is an exceedingly bad idea to turn in, or even refer
to, code or solutions written by a friend of yours who took the course
already.)
Since
all of your work is expected to be completed solely by you (and your partner,
on paired assignments), you will be held responsible even if you plagiarize
only a small portion of someone else's work.
Academic
honesty is a two-way street. Providing your code to other students for them to
turn in as their own is not permitted any more than turning in someone else's
code. Resist the temptation to give code to your friends "for
reference." Based on my experience, I can say that your
"friends" may very well betray you and turn it in, anyway, and then
you'll have a lot to answer for.
Naturally,
the Midterm and Final Exam are also expected to be individual efforts.
Dishonest behavior during an exam will not be tolerated.
Violators
of academic honesty policies are subject to the penalties described in the Bren
School of ICS policy. They are also subject to an immediate course grade of F,
and you will not be allowed to drop the course to avoid the grade. Also be
aware that a single documented case of academic dishonesty may preclude you
from switching into computing majors, registering for computing minors, joining
the ICS Honors Program, and graduating from a computing major with honors.
Acknowledgements
The
instructor is grateful to Alex Thornton, who has generously provided related
course materials.