TWiki
>
ISG Web
>
CompSci138
(2024-04-15,
MaxJung
)
(raw view)
E
dit
A
ttach
---+ Resources and Information for CS 138 ISAs This TWiki is for technical details only. Any other duty information can be found in Waterloo LEARN (D2L): CS Instructional Support Group -> Course Admin & Duties for ISAs. ---++ Key Links * [[Marmoset]] * PrintingMarmosetAssignments * PiazzaTips * Moss: https://cs.uwaterloo.ca/twiki/view/ISG/MossBasics * Download Marmoset Results and other marm-sql commands: https://cs.uwaterloo.ca/twiki/view/ISG/MarmSql * Instructions for copying submissions from Marmoset into Markus, under "Courses where students do NOT submit on MarkUs " (This is for hand-marking): MarkUsPrepareForMarking * The modified parts for cs138 marm_sql script is commented in /u2/cs138/bin/marm_sql * Connect remotely: https://cs.uwaterloo.ca/twiki/view/ISG/SambaWindows ---++ Timeline ---++++++ Week 0-2: * Meet your colleagues. * Enter the course account and familiarize yourself with the locations of files, the directory structure, and all the HTML files under public_html. * Complete the training required by the University of Waterloo. * Attend the ISA training sessions, especially the ones on Linux, course accounts, and [[Marmoset]]. * View =manual.txt= in the course account under the =useful_info= folder to get familiar with your work. * Attend the lectures and give feedback about the lectures to the instructor. * Prepare for the tutorials. * Set up and release the first assignment(s). Details are in the "Assignments" section below. * Monitor and answer questions on Piazza and the course email. * Hold office hours and tutorials. * When an assignment is due, update the marks and run MOSS. Details are in the "Assignments" and "MOSS" sections below. ---++++++ Throughout the Term * Continuously check the course email and reply to any pertinent emails. Typically, the order of importance is course staff > student emails. * Regularly check Piazza and answer student questions. * Attend the lectures and prepare for the tutorials. * Hold office hours and tutorials. * Read through the assignment specifications and make any necessary fixes on the PDF before assignments are released. * Release new assignments when the time comes. * When an assignment is due, update the marks and run MOSS on student submissions. ---++++++ Midterm & Final * On the exam day, arrive at the ISC's office at the specified time for instructions on proctoring the exam. * Proctor the exams. * Attend the marking meeting and mark the exams. For midterm only: * Post an announcement on Piazza when midterm marks are released. Include information about midterm remark requests. * Handle midterm remark requests as instructed by the ISC. ---++ Course Directory Structures Most directories contain a README.txt with details pertinent to their specific contents/function. * *Course Account* (cs138@linux.student.cs.uwaterloo.ca) * =useful_info=: Contains useful instructions, such as =ssh.txt=, =first_time_setup.txt=, =dailyTasks.txt=, =weeklyTasks.txt=, etc. * =archives=: Contains backups of previous terms. * =bin=: Contains scripts used by other scripts. * =marks=: For downloading and compiling assignment marks. * =moss=: Workspace for downloading student submissions and running MOSS. * =public_html=: Contains the contents of the course website. * *Testing Account* (cs138t@linux.student.cs.uwaterloo.ca) * =marmoset=: Contains folders for assignment test setups and canonical solutions to be uploaded to [[Marmoset]]. ---++ Assignments ---++++++ First Time Setup * Clone the staff git repo to your personal account. * In the testing account, copy over the last term's folder (e.g. w24) and rename it after the current term. * Update the term/year information on =~/public_html/cgi-bin/displayMarks.py= in the course account. This script is used to display the unofficial marks on the course website. ---++++++ Setup For Each Assignment * Create a directory for the assignment. It is recommended to separate the contents into at least the three following sub-directories: * Description: The LaTeX and other files (such as images) for creating/editing the assignment PDF. * skeleton: The skeleton files for the assignment. * solution: Solution files for the assignments. * Copy over the assignment files from the previous offering's files. * Modify the year and the due dates for the assignment in the LaTeX file. * Read through the specifications carefully with the instructor and modify them if necessary. * Attempt to do the assignment yourself before releasing it. This helps you identify which specifications require further clarification. * To compile the LaTeX file into a PDF, run =pdflatex <.tex-file-name>=. ---++++++ Marmoset Setup The details can be found on =~/marmoset/README.txt= in the testing account. * In the current term's folder, navigate to the directory for the current assignment. Within each project folder, there should be at least a directory named "test" for the test setup, and another named "sol" for the solution files. * For projects that use standard input/output, you may need to generate the =*.out=, =*err=, and =*.expected= files by running =./maketests= in the =test/code= directory. * Update the test setup if necessary. The instructions are provided in =~/marmoset/README.txt=. * Run =~/marmoset/bin/runtest <solution-directory>= to test the solution files for correctness and generate the zip files. * On [[Marmoset]], create a new project for each part of the assignment. * Upload the test setup and the canonical solution to each project. Assign points to activate the test setup. ---++++++ Releasing the Assignment * Create an empty git project in the student skeleton group, and clone the repo to your personal account somewhere else. * Copy over the skeleton files and the PDF. * Commit the changes and push the commit to the remote repo. Students should be able to see and pull the assignment files now. * Change the [[Marmoset]] projects' visibility to "Visible to Students". [[Marmoset]] projects should now be available for the students to see and submit their solutions. * Post an announcement on Piazza and/or LEARN about the newly released assignment. ---++++++ After the Deadline * Grant any extensions for students on [[Marmoset]] as notified to you by the ISC. * After the deadline passes for all students (including those given extensions), change the test-outcome visibility of each assignment project to "Everything". * Inside the directory =~/marks/download= in the course account, run =~/bin/marm_sql -v -m <assignment>= to download the marks for the assignment. * Edit the script =combine.bash= as necessary. Then, run =./combine.bash > public-marks.txt= to calculate the marks and compile them into a single file. * Double-check that the marks have been compiled correctly; change the marks manually for instances like remark requests if necessary. * Document all the remark requests in a single text file. * When ready to publish, copy =public-marks.txt= to the parent directory (i.e. =~/marks=). Students should now be able to see their marks on the Unofficial Marks page. * Download the student submissions from [[Marmoset]] and run MOSS as explained in the section below. ---++ MOSS The instructions can also be found on =~/useful_info/manual.txt= in the course account. * Create a directory for each assignment project in =~/moss=. You may want to create directories for each assignment first, then create sub-directories for each project. * =cd= into each project directory, then run =~/bin/marm_sql -v -d <project-name>=. This will download all student submissions for the project in a new sub-directory with the project name. * You can also download the submissions from the [[Marmoset]] web interface. * Run =yes O | /u/isg/bin/runMoss -d <path-to-submission-directory> '-l ascii'= to run MOSS on the submissions. This will generate a sub-directory named =html= with HTML pages of MOSS results. * Note that the O after =yes= is the capital letter O, not zero. * You may want to replace =ascii= with =cc= in the command to run MOSS with C++ language. * To generate a more readable results page, run =cd html= then =u/isg/bin/moss_makereadable index.html 10 > readable.html.= * Open the =readable.html= file and manually inspect the submissions with high match percentages. * Compile a list of submissions you think are suspicious, then follow the instructions from your ISC. ---++ Others Please see the folder =~/useful_info= for more details on the course. ---++ Non-Technical (To be moved to D2L) ---++ Outdated ---++ No Longer Relevant <As !CS138 makes use of [[Marmoset]] for testing but also requires some hand marking from TAs, it's worth checking PrintingMarmosetAssignments for scripts that will help accomplish this.>
E
dit
|
A
ttach
|
Watch
|
P
rint version
|
H
istory
: r16
<
r15
<
r14
<
r13
<
r12
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r16 - 2024-04-15
-
MaxJung
ISG
ISG Web
ISG Web Home
Changes
Index
Search
Webs
AIMAS
CERAS
CF
CrySP
External
Faqtest
HCI
Himrod
ISG
Main
Multicore
Sandbox
TWiki
TestNewSandbox
TestWebS
UW
My links
People
CERAS
WatForm
Tetherless lab
Ubuntu Main.HowTo
eDocs
RGG NE notes
RGG
CS infrastructure
Grad images
Edit
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback