ICS 621 Fall 2019 Assessment (Grading)

The grade in the course will consist of the following components (see below for details):

  • Class participation and Scribing (30%): You must attend lectures, participate in discussions, and scribe 4 lectures throughout the semester.

  • Homework (40%): There will be 7-10 homeworks throughout the semester.

  • Final Project (30%): You will be expected to complete a research project.

Details

Class participation and Scribing (30%)

You are expected to attend lectures and participate in the discussions.

Scribe Notes Groups of 2-3 students will be responsible for taking notes during the lectures and typesetting them in LaTeX. Each student will scribe 4 lecture notes as part of some group throughout the semester.

Content. The notes should cover all the material covered during the relevant lecture. Your notes should be understandable to someone who has not been to the lecture. You should write in full sentences where appropriate; point form (like I write on the board or in the lecture slides) is often too terse to follow without a sound track (though occasionally it is appropriate). Use numbered sections, subsections, etc. to organize the material hierarchically and with meaningful titles. If you feel it is appropriate, use nested bullets to organize material hierarchically even deeper. Try to preserve the motivation, difficulties, solution ideas, failed attempts, and partial results obtained along the way in the actual lecture.

Format. Write your notes using LaTeX/pdftex, with figures in Encapsulated PostScript (for LaTeX) or PDF (for pdftex), generated from xfig, ipe, Adobe Illustrator or similar software. Start from the LaTeX template, which sets the style. For help with LaTeX, I recommend the LaTeX WikiBook.

Notes grading. Each team will turn in a single set of scribed notes and every member of the group will receive the same grade. Talk to your teammates in advance of the lecture to make sure everyone on the team has similar expectations about the quality of notes to be produced. Work together to make sure everyone understands the content of the lecture and distribute the writing load as you see fit.

Note-taking software. You should use LaTeX/pdflatex to typeset your notes (let me know which one you will use. I recommend pdflatex). You should use a version control software (e.g. Git) and a repository (e.g. GitHub or BitBucket) to facilitate collaborative writing. If you are new to LaTeX, you might find Overleaf useful.

Timing and Submission. Try to write the lecture notes for a class on the same day while the material is still fresh in your mind and it will save you a lot of time. You should finish the first draft of your notes and send it to me by Monday morning after the lecture. Then I'll either send you comments via email or we'll schedule a meeting to go over your write-up, I'll make suggestions, you'll make a second pass, and send it to me. I'll make the final pass, and post it on the webpage. The goal will be to get the notes out by one week after the corresponding class. To submit the notes, please send me all the sources, including the figures. If you are using a repository on GitHub (nodari02), BitBucket (nodari) or Overleaf (nodari@hawaii.edu), simply share it with me whenever your notes are ready.

Homeworks (40%)

There will be 7-10 homeworks (every 1-2 weeks) throughout the semester. You may collaborate with anyone on the homeworks, however, the final write up must be performed individually, in your own words. That means copying solution from each other is NOT permitted. You must write the names of everyone you discussed the solution with in your homework write-up. The homework must be typed up.

Homework submission: Homeworks are due in person at the beginning of the lecture on the day it is due. No homeworks will be accepted after the instructor starts the class, as the answers to the homework will be discussed during the class period.

Final Project (30%)

Goal. Ideal outcome of the project at the end of the class is for you to obtain results that can be published at an algorithms conference. To receive full credit on the project, you do not have to achieve this goal (that's the nature of research), but that should be your goal. If you do not achieve publishable results, your write-up should describe the ideas and approaches you took to solve the problem.

Topic. The topic of your research project should be related to algorithms. I will be available for brainstorming during office hours for possible topic of interest. You should be interested in the topic, but I must approve it, so check with me first.

Format. Here is a list of possible formats of the project. This list is not exhaustive, so if you have an interesting idea that you don't see on the list below, come discuss it with me.

  • Learn about an open problem and try to solve it (and hopefully solve it).

  • Implement one or more algorithm or data structure presented in class and experiment with it. Example of outcomes: Understanding the behavior of an algorithm or data structure in practice; comparing two or more related algorithms or data structures in practice; determining whether a previously unimplemented algorithm is practical; finding a way to optimize the implementation of an algorithm to be practical, e.g. by optimizing the use of cache hierarchy or through the use of special instructions of the specific architecture.

  • Invent a good open problem. Here, the main contribution is posing the problem itself. But you should think about how it could be solved as well. Your final write-up should discuss the motivation for the problem, related work, and potential approaches for solving it and where the challenges lie.

  • Write up a set of related topics in more detail. The writeup should read like a book chapter, i.e., it should provide more extensive introduction, motivation and literature review of related results for the problems discussed, present all details, proofs and a full set of bibliographical references. Ideally, it should conclude with several exercises on the topic and/or a list of open research problems. If you decide to take on this project, talk to me first to agree on the set of topics that should be covered by your write-up. This type of project might potentially require longer than the 15-page limit.

Write-up. The project must be written up in a research paper format. It should be somewhere between 6 to 15 single-spaced pages with 1 inch margins. It should start with a title, author and a 1-2 paragraph abstract. The body of the write-up should consist of introduction, the body and the conclusions. The introduction should describe the problem you are addressing, present a brief literature review of related results on the topic, and a summary of your results. The body should describe your solution, teachnique/approach to solving it and results. If you haven't achieved significant results, you should still describe the techniques/approaches you have tried and why they didn't work. The conclusions should summarize what you have presented and present possible directions for future research, e.g. open problems that remain unsolved and/or possible approaches that you might have tried if you had more time. You are welcome to collaborate on the project with anyone (even outside the class), including me, but you should give credit to people you have collaborated with. This is the nature of research.