Fall 2021
December 1, 2021
You can post comments of any nature (bug report, recommendation, criticism, …) at etherpad.wikimedia.org/p/CSCI4800. Please, keep in mind:
I will monitor this channel and either post answers there or through email, depending on the nature of the comment.
We will not be using an hybrid course model, the class will be fully face-to-face, but we will enforce the University’s regulations on social distancing and face covering. You will need a computer with admin rights to install (free) software.
This is Compiler Writing – CSCI 4800 - 20444 - A, an undergraduate semester class of 3.000 credits, whose pre-requisite is a minimum grade of C in CSCI 3500 or CSCI 341, and a minimum grade of C in CSCI 3370.
An examination of compiler techniques used in generating machine code. Topics covered include scanning and parsing, code generating, optimization and error recovery. Programming projects in compiler construction.
This is Compiler Writing – CSCI 6800 - 21779 - A, a graduate semester class of 3.000 credits, whose pre-requisite is to be in the graduate program.
This class examines how programs in existing high-level languages are translated to machine level so that they can correctly and efficiently execute on modern hardware. The class is centered around a significant project where students get hands-on experience implementing the techniques studied in the class. Most techniques studied will be for imperative languages.
Upon successful completion of this class, the student will be able to:
The week starts on Monday.
Week | Date | Note | Topic |
---|---|---|---|
1 | 08/09 | - | Syllabus, Introduction |
2 | 08/16 | - | - |
3 | 08/23 | 08/26: Quiz | - |
4 | 08/30 | - | - |
5 | 09/06 | 09/06: Labor Day, 09/09: Project | - |
6 | 09/13 | 09/16: Exam | Review Session |
7 | 09/20 | - | - |
8 | 09/27 | 09/30: Quiz | - |
9 | 10/04 | 10/04: Midterm, 10/07 – 10/08: Fall Pause | |
10 | 10/11 | - | |
11 | 10/18 | 10/21: Quiz | - |
12 | 10/25 | - | - |
13 | 11/01 | 11/04: Exam | Review Session |
14 | 11/08 | - | - |
15 | 11/15 | 11/18: Project | - |
16 | 11/22 | 11/24–26: Thanksgiving | - |
17 | 11/29 | - | |
18 | 12/06 | 12/9 (11am–1pm): Final | - |
You can also find on-line
This schedule is subject to change and enhancements, but provide an indication of the pace, assignments, and major deadlines that you will need to plan for the semester.
Students will be evaluated using four different types of evaluation:
Homework assignments will be given during the course of the semester: they are not expected to be handed back, and won’t be graded, but quizzes with questions taken or inspired from those assignments will be given. Those quizzes are closed book and timed (± 10 min.).
Projects will be carried at home.
There will be in-class exams, held during the regular class periods.
The final exam will take place during the exam period.
Refer to the planned schedule for precise dates, and to Brightspace/D2L to get your current grades.
🎓 Graduate students will be evaluated using a different modality that will be discussed at the beginning of class.
Your grade will be computed as follows:
Quizzes (×3) | 10% |
Project (×2) | 10% |
In-class Exams (×2) | 40% |
Final Exam | 40% |
using the following course grade scale:
Below 65 | 65–70 | 70–79 | 80–89 | 90–100 |
F | D | C | B | A |
Refer to the Course Requirements for information about late or missed evaluations.
Lectures are devoted to general explanations of the concepts and ideas underlying the topic at stake. All practical work, coding, programming, testing, etc. will be carried at home or in the lab portion if there is one.
Homework assignments will assist the students in making sure they understand classes expectations and the content of the lecture, as well as to practice their coding and problem-solving skills. The progression of the students will be regularly tested and assessed through quizzes and exams. Active and relevant participation during the lectures is appreciated.
It is our mutual interest for you to succeed: I love to share knowledge and to expand it by helping students, and students want to gain a useful and agreeable experience that will prove valuable in their future endeavors. To this end, here is:
You can have a look at my Quick Reflexion on Course Evaluations, that contains my previous student evaluations, and at my “Definitive” Study Guide.
In case of conflict, the proper etiquette is to reach out to me, and if no solution can be found, then we should turn to our undegraduate study director Anthony Lawrence or to the dean of Students to help as an ombudsman.
For this class, you will need to access a computer. You can either:
If you need room to engage in a synchronous class, you can go to (this information may need to be updated)
I should be your first point of contact for any question regarding the content of this class, but many other resources are available:
The Augusta University chapter of the A.C.M is one of the university’s best resources for Computer Science, Information Technology and Cyber Security students. It provides a platform to network with other students in similar majors; presenting countless opportunities to expand not only the people you know, but also a fantastic place to learn and ask questions. Because of Covid-19, we will only be holding meetings virtually in our Discord server. If you are interested in joining these meetings, or you have any questions about Computer Science or Cyber Security, feel free to join through our link.
The University has implemented specific requirements to minimize exposure to COVID-19 and support the safety of all during the pandemic. These requirements apply to all persons on campus (faculty, staff, students, and visitors). These requirements are subject to change. Visit jagwire.augusta.edu/coronavirus/ and augusta.edu/covid-resources/ for the latest details.
If you are unsure about the procedure to adopt, please refer to the protocols - guidelines. If you need to miss class to self-isolate or get tested, please notify me at your earliest convenience.
The University’s Student Code of Conduct, the student’s manual, the academic regulations as well as the applicable policies are supposed to be known by the students and will be enforced.
Section 5.2, Academic Conduct of the student’s manual defines precisely what kind of collaborations are acceptable. As long as you do not lie, cheat, plagiarize, assist others or being assisted by others without authorization, we should not need any of that. If you are unsure about whether or not certain kinds of collaboration are permissible, please ask me.
I am committed to the founding principles of Universal Design, and to make my lecture accessible to every one. Concretely, that means that I’m not requiring you to use a particular Operating System, that I always try to give the information repeatedly, and using multiple channels, that I am available over the phone, email, or in my office. If you are registered with Testing and Disability Services, please see me at your earlier convenience to discuss accommodations.
Please be aware of the USG guidance on House Bill 280. Note that you may not carry a handgun if high school students are enrolled in the class, and that it is your responsibility to visit the registrar to determine whenever this is the case or not.
pdf
version of this page.pdf
reader to consult some of the documents: I recommend choosing an open-source pdf
reader.