Credits: 3
Analyzes process communication and synchronization; resource management; virtual memory management algorithms; file systems; and networking and distributed systems. Prerequisite: CS 2150 with grade of C- or higher, and CS 3330 or ECE 3430 with a grade of C- or higher.
Credits: 3
Introduces the student to the basics of high-performance parallel computing and the national cyber-infrastructure. The course is targeted for both computer science students and students from other disciplines who want to learn how to significantly increase the performance of applications. Prerequisites: CS 2110 with grade of C- or higher, CS3330 or ECE 3430 with a grade of C- or higher, APMA 3100 and APMA 3110.
Credits: 1–3
This course is one option in the CS fourth-year thesis track. Students will seek out a faculty member as an advisor, and do an independent project with said advisor. Instructors can give the 3 credits across multiple semesters, if desired. This course is designed for students who are doing research, and want to use that research for their senior thesis. Note that this track could also be an implementation project, including a group-based project. Prerequisite: CS 2150 with a grade of C- or higher
Credits: 1–3
In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty. The study is often either a thorough analysis of an abstract computer science problem or the design, implementation, and analysis of a computer system (software or hardware). Prerequisite: Instructor permission.
Credits: 3
Required for Distinguished Majors completing the Bachelor of Arts degree in the College of Arts and Sciences. An introduction to computer science research and the writing of a Distinguished Majors thesis. Prerequisites: CS 2150 or CS 2501 topic DSA2 with a grade of C- or higher, and BSCS major
Credits: 3
Introduces the basics of parallel computing. Covers parallel computation models, systems, languages, compilers, architectures, and algorithms. Provides a solid foundation on which advanced seminars on different aspects of parallel computation can be based. Emphasizes the practical application of parallel systems. There are several programming assignments. Prerequisite: CS 3330, 4414, and 4610, or instructor permission.
Credits: 3
Covers advanced principles of operating systems. Technical topics include support for distributed OSs; microkernels and OS architectures; processes and threads; IPC; files servers; distributed shared memory; object-oriented OSs; reflection in OSs; real-time kernels; multiprocessing; multimedia and quality of service; mobile computing; and parallelism in I/O. Prerequisite: Undergraduate course in OS; CS 6354 or instructor permission.
Credits: 1
A graduate student returning from Curricular Practical Training can use this course to claim one credit hour of academic credit after successfully reporting, orally and in writing, a summary of the CPT experience to his/her academic advisor.
Credits: 1–12
Detailed study of graduate course material on an independent basis under the guidance of a faculty member.
Credits: 1–12
Detailed study of graduate course material on an independent basis under the guidance of a faculty member.
Credits: 3
Formal record of student commitment to project research for the Master of Computer Science degree under the guidance of a faculty advisor.
Credits: 1–12
For master's students who are teaching assistants.
Credits: 1–12
Formal record of student commitment to thesis research for the Master of Science degree under the guidance of a faculty advisor. May be repeated as necessary.
Credits: 1–12
For doctoral students who are teaching assistants.
Credits: 1–12
Formal record of student commitment to doctoral research under the guidance of a faculty advisor. May be repeated as necessary.