Core Courses

Core Courses

The core requirements for the MS in CSSE cover four basic skill levels: Design, Development, Foundations and Systems Programming.  The MSCSSE curriculum offers multiple courses under each core area where students can tailor their path through the program to meet their educational objectives. Students in the MSCSSE program are required to take one 5 credit course from each of the following groups. 

In addition to these core areas, all students must take a 1 credit faculty seminar, and a writing assessment exam in their first quarter of enrollment.  The Writing Assessment results will place students into (or out of) the technical writing skills courses, a total of 3 credits.  All students in the MSCSSE degree program must take these core courses to fulfill the breadth of knowledge requirements.


The Development group teaches students essential concepts and skills in building software solutions based on contemporary tools and platforms. Through extensive hands-on assignments, these courses also cover best practices in practical implementation. Currently offered courses that students can take to meet the Programing group include:

CSS 533: Distributed Programming
CSS 534: Parallel Programming in Grid & Cloud
CSS 535: High Performance Computing
CSS 551: Advanced 3D Computer Graphics
CSS 587: Advanced Topics in Computer Vision



The Design group teaches students essential concepts in software engineering and process including skills in analysis, problem decomposition, and solution modeling through developing applications using design languages. Design courses also teach students to use effective oral and written communication skills, team member skills, and working in a team environment in designing software systems. Currently offered courses that students can take to meet the Design group include:

CSS 555: Evaluating Software Design
CSS 553: Software Architecture


The purpose of the foundations group is to emphasize the methods of scientific inquiry and emphasize theoretical and conceptual knowledge as it relates to practical/how-to-knowledge. The foundations group also covers ethical issues that arise in computing and software systems. Courses in this group provide students with the opportunities to solve problems that emphasize the ability to synthesize and apply theories and techniques in a professional setting. Specifically, students will be solving problems that address the relationship between mathematical and/or scientific foundations and actual practice. Currently the course offered to meet this core requirement is:

CSS 565: Research Methods in Software Development
CSS 566: Software Management

System Group:

Courses within the systems group provide students with the necessary exposure to technologies and methods they will be interacting with as a software developer. Depending on a student's background, 1 or 2 classes may be required as part of their degree pathway. Systems Group courses are taken upon matriculation into the MSCSSE degree, and upon the advice Chair or Associate Chair of the CSS Division. Students can fulfill the background knowledge in this area by completing the Graduate Certificate in Software Design and Development. Contact the CSS Graduate Advising office for further information.

Faculty Research Seminar:

All students must take a 1 credit CSS 599: Faculty Seminar.  The seminar gives students the opportunity to interact and learn about current research conducted by the CSS faculty.  It is recommended students take this course in their first quarter, so that they are made familiar with current research early in their academic career.  The course is 1 credit, and the class typically meets one hour per week.

CSS 599: Faculty Research Seminar (1cr)

Writing Assessment & Writing Skills Courses:

Graduate level competency on technical and scientific writing is a critical area of knowledge for students in any Masters degree. In the students first quarter of enrollment they will be given a writing assessment. Based on the results of the writing assessment, students may place out of any required coursework, or they will place into either CSSKL 509: Technical Writing Skills (2 cr) and/or CSSSKL 510: Scientific Writing (1 cr) as appropriate. Completion of these courses with a passing grade will show appropriate depth and skills of graduate level writing.  All students will be given a writing assessment study guide and overview of expected knowledge at orientation.  The writing assessment is given in the second month of the quarter in which a new student will have enrolled, allowing the student to have time to both orient themselves to the new degree program and study for the assessment exam.

CSSSKL 511: Technical Writing (1cr)

Focuses on critical technical writing skills including formulating arguments and technical use and portrayal of data in reports and oral presentations. Credit/no-credit only.  Students are advised to take CSSSKL 511 when enrolled in the Foundations core course, as the assignments required in the foundations course are used to help teach the goals of the CSSSKL 511.

CSSKL 594: Scientific Writing for Thesis/Project (2 cr)

Focuses on writing the Master's project paper or thesis. Topics include synthesizing professional literature, describing methodology, and presenting and discussing results. Approaches to revision and presentation skills for the oral defense are also covered. Credit/no-credit only.  Students are advised to take CSSKL 510 in their final quarter of study, when the writing of the final thesis or capstone report is taking place.  Course goals include helping students draft and edit thesis or capstone reports.

For more information on the writing assessment, please read our Writing Assessment Student guide. For Writing Assessment scoring information, please see Writing Assessment Rubric.