MENU

Research and Project Design

Do you want to get involved in research, but don't know where to start? Do you want to do a project that makes a difference, but aren't quite sure where to begin? Well, you might want to check out "CS390: Research and Project Design Principles in Computing" in Fall 2024!

What is CS390?

Research sign

This course provides an introduction to both research and project design and gives you the freedom to dip your toes in and choose your own semester outcome: a project prototype, a research survey, or a preliminary research paper.


For the "research survey" option, you can investigate a specific field of computer science, discover cutting edge research, and identify where the field is headed and where there is a need for new research (outcome: a survey paper draft).

For the "research paper" option, you can take your own research proposal through the stages of background research through preliminary results, while learning about the current state of the art and related work (outcome: a research paper draft).

For the "project" option, you can identify and address a software need of your choosing, investigate related work, and generate a project plan and begin development (outcome: a working prototype).

Am I Ready?

Computer science student at work

Many students are nervous about starting in research or undertaking a "real" project. This is understandable since it is a large undertaking, but CS390 is designed to walk you through, step-by-step, what you need to do to get started.

If you already have a cool idea... taking CS390 can help you refine your idea into an actual project plan, help you get a team of like-minded people to work with you (if you want), and allow you to prototype your idea. You'll get plenty of feedback and support to help make your idea happen.

If you're already working on research... if you're at the beginning phases of your research, taking CS390 can help you get your project done. Plus you get course credit and a place to show it off!

If you don't have any ideas... not a problem! We can get you ideas, or other people with ideas, and CS390 will show you how to "find your place" in the world of research by investigating the state of the art of anything you're currently interested in (robotics, security, AI, you name it!).


You are not alone! (unless you want to be...)

You can work in teams or individually, so bring your friends!


Prerequisite courses?

CS262 (required), CS310 (recommended), CS321 (recommended for groups)

Applications
Flockbot robots from GMU's Autonomous Robotics Laboratory

Apply for a class?!

CS390 enrollment is controlled by the professor to ensure a variety of interest areas and types of research/projects, as well some overlapping interest of individuals who want a group. Groups are welcome (and encouraged!) to sign up together.

  • Full consideration deadline: June 17th: Applications submitted by this date will have priority and be informed of approval by July 1st.
  • Late consideration deadline: August 2nd: Applications submitted after the full consideration deadline and before the late consideration deadline will be considered if space allows and will be approved on a rolling basis (last approval notifications will be sent August 19th).

Click Here to Apply!

Course FAQ
GMU Engineering Building

Any more information about the course?

CS390 is an activity-based course, so attendance is required. There are no exams, but the course grade will be based on class participation (40%) and completion of a semester project or research/survey paper (60%). While the course titled "CS390" was taught in the past (over seven years ago), this offering is updated and heavily modified. CS390 is a "Mason Impact" course that meets the "CS Related" requirements of the CS degree.

Do I need a group?

Group papers/projects are encouraged but not required. If you already have some people you'd like to work with, sign up together! If you want to work in a group but don't have one, there's a part of the application to let me know.

Is CS390 "student led" like CS395?

Nope, this is a 3-credit class taught by a member of the faculty.

Other questions?

For additional questions, please contact Dr. Raven Russell (krusselc@gmu.edu).

Update July 1st
Another computer science student at work

Lecture Structure

Since we have 3-hour lecture periods on a Friday, and that's hard on people, most lectures will be divided into two parts, and most lectures will have at least one "activity". Activities will vary, but most of them will be interactive so that you won't find yourself falling asleep in the second half. You'll need to come to both parts, since a substantial part of the grade is based on participation, but hopefully you'll find yourself exciting to come each week.

Semester Outline

The current plan is that the first half of the semester will be focused around two primary goals: (1) getting comfortable with computer science research, and (2) getting some basic "training" in how to work on big projects. The second half of the semester will focus on more advanced tools for doing successful projects and research, but you will also have a substantial amount of class time to working on your chosen project/research.

Tentative Lecture and Activity Topics

I've made a tentative list of lecture and activity topics based on the class pool so far. This may change based on the class interest!

  • Introduction to Industry and Research
  • The Components of Research and Meaningful Projects
  • How to Read a Research Paper
  • Evaluating Projects, Evidence, and Research
  • Project Decomposition
  • Large Project Management
  • Time and Resource Estimation
  • Scrum Training (as in, I'll train you to do Scrum)
  • Coordinating Multi-Person Projects
  • Version Control with Git
  • Writing and Publishing Research Papers
  • Project and Research Presentations

If there are any topics not on this list that you're interested in, please let me know. I can't promise to fit everything into one semester, but I'll certainly consider your suggestion(s)!