Courses

The Department of Computer Science offers over a hundred courses at the undergraduate and graduate level.  Some courses are cross-listed and offered in collaboration with other departments such as Electrical Engineering, Industrial & Systems Engineering, Math, and the Technology and Applied Computing Program.

Course Information:

USC Academic Catalogue - CSCI Course Descriptions

USC Schedule of Classes - Main Page

Special Topics Courses

Course Introduction Videos:

>> Watch All Course Introduction Videos

CSCI 102L: Introduction to Programming (Professor Mark Redekopp)

CSCI 103L: Object Oriented Programming (Senior Lecturer Andrew Goodney)

CSCI 104L: Data Structures (Lecturer Michael Shindler)

CSCI 170: Discrete Methods in Computer Science (Senior Lecturer Sandra Batista)

CSCI 402: Operating Systems (Senior Lecturer Bill Cheng)

CSCI 455x: Introduction to Programming Systems Design (Senior Lecturer Claire Bono)

CSCI 485: File and Database Management (Associate Professor Shahram Ghandeharizadeh)

CSCI 491AL/BL & CSCI 529AB: Advanced Game Project / Graduate Advanced Game Project (Professor Michael Zyda)

CSCI 530: Security Systems (Associate Professor Clifford Neuman)

CSCI 571: Web Technologies (Adjunct Assistant Professor Marco Papa)

CSCI 572: Information Retrieval and Web Search Engines (Professor Ellis Horowitz)

CSCI 585: Database Systems (Senior Lecturer Saty Raghavachary)

CSCI 662: Advanced Natural Language Processing (Professor Kevin Knight)

Published on June 14th, 2016Last updated on September 2nd, 2025