CS370: Undergraduate Reading and Research


Course Overview

CS 370 is a research-oriented independent study class. I expect that your level of effort will be commensurate with that in other advanced undergraduate-level courses, with the exception that you will not be attending class.

The intent of the course is that you undertake an independent study of some interesting or challenging research area in computer science, related to my interests in C++, competitive programming, computer science education, Haskell, Python, and software engineering.

This course requires more self-discipline than a standard class. The biggest hazard is that you get busy with other courses or work or anything else, and put off work on this course. That's fatal but very common.

Writing Flag or Not?

When you sign up for CS 370, you can specify whether the course fulfills a writing flag requirement of your degree program. If you need the class to fulfill the writing flag requirement, there must be a significant writing component to the course. In that case, you will be required to write several papers on selected aspects of your topic. Your written output is expected to be in the range of 30-50 pages.

Note: For this course, your research is not required to be novel or publishable. An acceptable project might be to survey the existing work on a specific research problem in some area of computer science, explaining the importance and history of the problem, and comparing and contrasting attempts to solve it.

Signing up for the Class

Before signing up, you are required to confer with me about the expectations and requirements of the course and obtain my permission to register. I will need to sign your registration form during the first week of the semester. Typically, I will accept no more than two students per semester.

It would be best if you come to our initial interview with an idea of a research topic you would like to pursue. It does not work well for you to arrive expecting me to assign you a topic. You will be more interested and motivated by a topic of your own choosing. I will work with you to refine and refocus your topic if needed. But I generally can't assign you a topic.


The first deliverable of the course is a short proposal, 2-3 pages, describing your topic and laying out the work you propose to perform over the course of the semester. Choosing your topic area is the most important aspect. It should be narrow enough to be interesting, but broad enough to support a full semester's investigation. You are generally required to have a single research focus for the semester; it is not acceptable to have several unrelated areas to investigate. Your proposal should also list the deliverables you plan to submit, and the dates you expect to submit them. Generally, your proposal must demonstrate that you have an adequate plan for a semester's research project, and a grasp of the scope of the semester's work. Your proposal is due during the first two weeks of the semester.

Note: The proposal is a contract between us and I expect you to follow through. But there is some flexibility. If you find later in the semester that your interests have changed or that you have misjudged the topic, you may be allowed to change your schedule of work. However, you are strongly encouraged to put enough effort into your proposal that you have strong confidence that your proposed project is doable and will sustain your interest throughout the semester.

The other deliverables are the papers or other artifacts that you outlined in your proposal. Deliverables are due according to the approved timeline in your proposal. If you can't meet the timeline, for whatever reason, be sure to discuss it with me in advance. The timeline is there to ensure that you are making progress throughout the semester and will be enforced.


This is an independent study class. I am generally quite accessible and will be happy to spend as much (or as little) time with you as needed. My only requirement is that you check in with me periodically (ideally each week or so) and provide evidence that you are making progress on your research project. This can be a 5-minute meeting in my office or an email summary of your progress. Recall that I am always happy to spend more time with you and address any issues you are having on an as-needed basis.

Grading policies

You will be judged on your fulfillment of your proposed research plan. You are required to show adequate progress throughout the semester by turning in deliverables at appropriate intervals and making periodic progress reports. If you let the work slide, it will put a heavy burden on you later in the semester and practically guarantee that you don't derive as much benefit as you might from your project.

If you have a special circumstance or a personal emergency that requires an adjustment to your proposed schedule, please let me know. I am generally quite sympathetic to well-justified changes.

Academic Integrity

Students who violate University rules on academic dishonesty are subject to disciplinary penalties, including the possibility of failure in the course and/or dismissal from the University. Since such dishonesty harms the individual, all students, and the integrity of the University, policies on academic dishonesty will be strictly enforced. For further information please visit the Student Judicial Services Web site: Student Judicial Services.

The penalty for academic dishonesty will be a course grade of F and a referral of the case to the Dean of Students. Further penalties, including suspension or expulsion from the university, may be imposed by that office.

Writing Resources

Writing Samples

Copyright © Glenn P. Downing, 2006-2018