|
Size: 6039
Comment: Updated for COVID-19
|
Size: 6898
Comment: updates for 2026 w/ CSCI598
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 2: | Line 2: |
| #acl All:read | #acl _All:read |
| Line 7: | Line 7: |
| {{{#!wiki comment -- Not as of 2016-02-25 Electronic versions of this text are available: [[https://www.vitalsource.com/products/crafting-a-compiler-fischer-charles-n-v9780133001570|"purchase" here]]. }}} |
The '''!VitalSource''' eText access has been setup on the [[https://elearning.mines.edu/courses/72447|course's Canvas page]], my understanding is that you '''need to ''opt out'' before ''Census Day'' if you don't want to use this resourse.''' Otherwise your student account will be billed. |
| Line 36: | Line 33: |
| {{{#!wiki comment We live in "interesting times", wondering how '''learning group time''' pans out when you or a group member is quarantined or isolated? [[QuarantinedLearningGroups|Read this for detailed expectations]] in the course. }}} |
|
| Line 37: | Line 39: |
| = Student Evaluation = Students should familiarize themelves with the [[CollabPolicy|collaboration policy]] for '''graded work'''. |
= Student Evaluation (CSCI425 and CSCI598) = Students should familiarize themselves with the [[CollabPolicy|collaboration policy]] for '''graded work'''. |
| Line 40: | Line 42: |
| {{{#!wiki important Syllabus modified for COVID-19 remote learning |
||<tableclass="header"> Grade Component || Course Grade Weight || Notes || || [[#LGQs|Group score on quizzes]] || 15% || Median score of your group members, weighted evenly.<<FootNote(With some reasonable caveats)>> || || Quizzes || 15% || Weighted evenly. || || [[#Assignments|Programming and written assignments]] || 15% || Read about '''[[#LatePenalties|late penalties]].''' || || Midterm Exam || 22% || || || Final Exam or Final Project (your choice)|| 33% || Assessment '''must be passed''' (60% or more), the exam is cumulative. || {{{#!wiki important The graduate version of this course will have either extra assignments or extra requirements associated with assignments used in CSCI425 (the undergrad course). |
| Line 43: | Line 52: |
| ||<tableclass="header"> Grade Component || Course Grade Weight || Notes || || [[#LGQs|Group score on quiz #1]] || 5% || Median score of your group members, weighted evenly.<<FootNote(With some reasonable caveats)>> || || Individual score on quiz #1 || 5% || Weighted evenly. || || Collaborative score on quiz #2 and #3 || 20% || Weighted evenly. || || [[#Assignments|Programming and written assignments]] || 15%<<BR>>(48%) || Read about '''[[#LatePenalties|late penalties]].'''<<BR>>[[/Assignments/NFAMATCH|NFAMATCH]] will be considered a '''beneficial score'''<<FootNote(Beneficial scores can only help, not hurt your grade)>> || || Midterm Exam || 22% || || || Final Exam (optional) || 33%<<BR>>(0%) || Conducted "in-person" with instructor, webcam on, answering a random selection of five questions. || |
|
| Line 53: | Line 55: |
| {{{#!wiki important LG Quizzes modified for COVID-19 remote learning }}} LG Quizzes will be four to five questions long. Questions may test the state of your collaborative code, solicit answers essential compiler design questions, or collect your thoughts on larger more abstract topics in the design of compilers. All of your collaboration should be done in your learning group chat room --- the instructor may observe at any time. '''This doesn't mean you can't use other technologies''' for collaboration, obviously `github` and `jitsi` springs to mind , but there should be an evidence trail of your collaboration and the development of your answers in the chat room. |
At the end of each learning group round, there will be a '''quiz''' over the material covered during the learning group. These are '''Learning Group Quizzes'''. These quizzes will be taken '''independently''' by each LG member, but each member's course grade will be based (in part) on their individual performance '''as well as their learning group's performance'''. |
| Line 59: | Line 57: |
| {{{#!wiki comment At the end of each learning group round, there will be a '''quiz''' over the material covered during the learning group. These are '''Learning Group Quizzes'''. These quizzes will be taken '''independently''' by each LG member, but each member's course grade will be based (in part) on their individual performance '''as well as their learning group's performance'''. |
{{{#!wiki tip Life happens and occasionally a student won't be able to sit for a learning group quiz. If the absence is excused, then the student will have the missing ''individual'' portion of the quiz ignored in all<<FootNote(individual and group)>> grade calculations, but they will still share in the ''group'' component of the quiz. There is typically a "Quiz Prep" learning group assignment before a quiz, so excused students should do their share of this work for the benefit of the '''whole group.''' With this policy, make-up quizzes are rarely offered. |
| Line 64: | Line 64: |
| {{{#!wiki important All programming assignments must "build" and run on `alamode` (BB136) machines (without the installation of additional libraries or packages). You should be comfortable using Linux at the command line. |
<<Anchor(Assignments)>>Programming and written assignments may we worth different numbers of points, but their percentile grades are all weighted the same when calculating the "Assignment" portion of your course grade. Every effort will be made to have your assignments graded within two weeks, but you should understand that the assignment grader has a (graduate) student's schedule as well! |
| Line 67: | Line 66: |
| Small programming tasks for [[#LGAs|learning group assignments]] may be done on the student's system of choice. | {{{#!wiki caution * <<Anchor(ContestedGrades)>>After assignment grades are posted, students have 1 week to review and contest an assignment grade. If you are concerned over a particular assignment's grading, Email your concerns to the instructor. * Assignments can usually be re-submitted after grading, with the instructor's permissions. * <<Anchor(LatePenalties)>> Extensions will be granted for reasonable reasons and prompt communication with the instructor (sometimes with a small point penalty). The '''late policy''' for work submitted past the due date '''without an extension''' is: 15% off for first 24 hours, 10% off for second and third days, 20% off if submitted within four days. Assignments posted '''four days or more''' after the due date '''without an extension''' are half credit. Weekends, school breaks and snow days count as late days. |
| Line 70: | Line 72: |
| <<Anchor(Assignments)>>Programming and written assignments may we worth different numbers of points, but their percentile grades are all weighted the same when calculating the "Assignment" portion of your course grade. | === Programming Languages === You are free to use a general purpose programming language of your choice, within these constraints: 1. It must be available on the gradescope docker image (if your fav language is missing, please let me know `:)`) '''without additional installs or (re)configurations'''. 1. It must provide access to command line parameters (aka `argv`). |
| Line 72: | Line 77: |
| {{{#!wiki caution * <<Anchor(ContestedGrades)>>Students and student groups have one week to review and contest graded work. Contact the instructor via Email with any assignment grading concerns. * Assignments may not be re-submitted after they have been graded, even if the re-submission is before the assignment deadline. * <<Anchor(LatePenalties)>> '''Late Policy''': 10% off for first 24 hours, 15% off for second 24 hours, 40% of for the third 24 hours (3 days late). Assignments posted '''4 days or more''' after the due date '''are not graded'''. Weekends count as late days. }}} |
In general, compiling is not a graphics intense software domain; so graphics support and portability of your code between operating systems should not be a big hurdle. |
| Line 78: | Line 79: |
| In addition to these language requirements, programming projects will meet certain [[Assignments/Requirements|design requirements as well]]. |
Textbook
Charles N. Fisher, Ron K. Cytron, Richard J. LeBlanc, Jr, Crafting a Compiler, Addison-Wesley, 1ed, ISBN-13: 978-0-13-606705-4
The VitalSource eText access has been setup on the course's Canvas page, my understanding is that you need to opt out before Census Day if you don't want to use this resourse. Otherwise your student account will be billed.
There are two textbooks on reserve in the Arthur Lakes Memorial Library.
Learning Methods
This will not be a traditional lecture course. Instead, it will be taught using an active learning technique known as formal learning groups. Here is how they will work.
A semester will have three rounds of learning groups (LGs), each about five weeks long. Students will be randomly assigned to learning groups at the beginning of each round.
"Lectures" will begin immediately with learning group time. LGs should review the previous assignment's learning goals and discuss the new content. LGs are expected to rearrange the room furnishings to accommodate their group work. Instructor(s) will circulate through the learning groups to record participation points, observe discussions, and answer questions.
- After the initial group time lecture will take two different shapes depending on instructional needs:
There will be a brief discussion of the current assignment's topics, perhaps working through a few example problems. This will be led by the instructor but guided by student input. Important topics in the next reading assignment will be introduced to the students. And the duration of the lecture period will be short problem solving time (still in learning groups) or a more formal (but short-lived) lecture period.
- Or, there will be a more formal lecture over the current important algorithms and data-structures being covered in the LGAs.
- Before the end of most lecture periods, learning groups will have an opportunity to see the next group assignment and discuss how the work load will be divided among the members.
Student Evaluation (CSCI425 and CSCI598)
Students should familiarize themselves with the collaboration policy for graded work.
Grade Component |
Course Grade Weight |
Notes |
15% |
Median score of your group members, weighted evenly.1 |
|
Quizzes |
15% |
Weighted evenly. |
15% |
Read about late penalties. |
|
Midterm Exam |
22% |
|
Final Exam or Final Project (your choice) |
33% |
Assessment must be passed (60% or more), the exam is cumulative. |
The graduate version of this course will have either extra assignments or extra requirements associated with assignments used in CSCI425 (the undergrad course).
Learning Group Quizzes
At the end of each learning group round, there will be a quiz over the material covered during the learning group. These are Learning Group Quizzes. These quizzes will be taken independently by each LG member, but each member's course grade will be based (in part) on their individual performance as well as their learning group's performance.
Life happens and occasionally a student won't be able to sit for a learning group quiz. If the absence is excused, then the student will have the missing individual portion of the quiz ignored in all2 grade calculations, but they will still share in the group component of the quiz. There is typically a "Quiz Prep" learning group assignment before a quiz, so excused students should do their share of this work for the benefit of the whole group.
With this policy, make-up quizzes are rarely offered.
Assignments
Programming and written assignments may we worth different numbers of points, but their percentile grades are all weighted the same when calculating the "Assignment" portion of your course grade. Every effort will be made to have your assignments graded within two weeks, but you should understand that the assignment grader has a (graduate) student's schedule as well!
After assignment grades are posted, students have 1 week to review and contest an assignment grade. If you are concerned over a particular assignment's grading, Email your concerns to the instructor.
- Assignments can usually be re-submitted after grading, with the instructor's permissions.
Extensions will be granted for reasonable reasons and prompt communication with the instructor (sometimes with a small point penalty). The late policy for work submitted past the due date without an extension is: 15% off for first 24 hours, 10% off for second and third days, 20% off if submitted within four days. Assignments posted four days or more after the due date without an extension are half credit. Weekends, school breaks and snow days count as late days.
Programming Languages
You are free to use a general purpose programming language of your choice, within these constraints:
It must be available on the gradescope docker image (if your fav language is missing, please let me know :)) without additional installs or (re)configurations.
It must provide access to command line parameters (aka argv).
In general, compiling is not a graphics intense software domain; so graphics support and portability of your code between operating systems should not be a big hurdle.
In addition to these language requirements, programming projects will meet certain design requirements as well.
Exam "No Show" Policy
Failure to sit for a scheduled exam (without an incredibly good explanation) incurs the same "late penalty" as for late assignments in the course. The "lateness" is measured between the scheduled exam time and when your instructor or course coordinator is informed of your absence.
If there is no policy for late assignments in a course, the following will be used: 10% off for first 24 hours, 20% off for second 24 hours, 40% off for the third 24 hours. Beyond this (again, without an incredibly good explanation) a zero will very likely be recorded for the exam grade.
Students are not guaranteed the opportunity to take a make-up exam; leniency in these matters is at the discretion of the course instructor(s).
Institutional Support
Disability Support Services
The Colorado School of Mines is committed to ensuring the full participation of all students in its programs, including students with disabilities. If you are registered with Disability Support Services (DSS) and I have received your letter of accommodations, please contact me at your earliest convenience so we can discuss your needs in this course. For questions or other inquiries regarding disabilities or academic accommodations, I encourage you to visit https://disabilities.mines.edu/ for more information.
Discrimination, Harassment and Title IX
All learning opportunities at Mines, including this course, require a safe environment for everyone to be productive and able to share and learn without fear of discrimination or harassment. Mines’ core values of respect, diversity, compassion, and collaboration will be honored in this course (More information can be found here) and the standards in this class are the same as those expected in any professional work environment. Discrimination or harassment of any type will not be tolerated. As a participant in this course, we expect you to respect your instructor and your classmates. As your instructor, it is my responsibility to foster a learning environment that supports diversity of thoughts, perspectives and experiences, and honors your identities. To help accomplish this:
- Course rosters are provided to the instructor with the student’s legal name. I will honor your request to address you by an alternate name or gender pronoun. Please advise me of this preference early in the semester so that I may make appropriate changes to my records.
- If something is said or done in this course (by anyone, including myself) that made you or others feel uncomfortable, or if your performance in the course is being impacted by your experiences outside of the course, please report it to:
Me (your course instructor). If you are not comfortable discussing the topic with myself, please consider
the Wellness Center for Counseling (https://www.mines.edu/counseling-center/), or
Speak Up which is an anonymous option to report anything that makes you uncomfortable (https://www.mines.edu/speak-up/)
In this course, we will cultivate a community that supports survivors, prevents interpersonal violence, and promotes a harassment free environment. Title IX and Colorado State law protects individuals from discrimination based on sex and gender in educational programs or activities. Mines takes this obligation seriously and is committed to providing a campus community free from gender and sex-based discrimination. Discrimination, including sexual harassment, sexual violence, stalking, and domestic violence, is prohibited and will not be tolerated within the Mines campus community. If these issues have affected you or someone you know, you can access the appropriate resources here: http://www.mines.edu/title-ix/. You can also contact the Mines Title IX Coordinator, Karin Ranta-Curran, at 303-384- 2558 or krcurran@mines.edu for more information.
Division of Humanities and Social Sciences (HASS) Writing Center
Located in room 133 Alderson Hall (phone: 303-273-3085), the HASS Writing Center is a teaching facility providing all CSM students with an opportunity to enhance their writing proficiency. The HASS Writing Center faculty are experienced technical and professional writing instructors. The Center assists writers with all their writing needs, from course assignments to scholarship applications, proposals, letters and resumes. This service is free to CSM students and includes one-to-one tutoring and online resources. https://hass.mines.edu/enrichment/campus-writing-program/