collapse allexpand all
## Computer Science

## Computer Science **(CSCI)**

- http://www.cs.usc.edu/
- D class assignments are only available on line at: myviterbi.usc.edu. Once you create your myViterbi profile, select the "D-Clearance Request Manager" to submit requests for CSCI courses. To be enrolled in an off-campus course, you MUST also be enrolled in the Distance Education Network (DEN). For more information, call 740-4488 or go to den.usc.edu. DEN courses are indicated by a location of DEN@Viterbi. For general questions regarding CSCI courses, you may email csdept@usc.edu.

Fundamental concepts of algorithmic thinking as a primer to programming. Introduction to C++.

**Note:**D Clearance Request Form tinyurl.com/CSIntroCourses

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29908D | 001 | Lecture | 9:00-9:50am | Mon, Wed | 0 of 50 | Mark Redekopp | GFS116 | ||

30201D | 001 | Lecture | 10:00-10:50am | Mon, Wed | 0 of 50 | Mark Redekopp | MHP101 | ||

30225R | 001 | Lab | 4:30-5:20pm | Tuesday | 0 of 15 | VKC160 | |||

30247R | 001 | Lab | 5:00-5:50pm | Tuesday | 0 of 15 | VKC208 | |||

30248R | 001 | Lab | 12:00-12:50pm | Tuesday | 0 of 15 | VKC208 | |||

30250R | 001 | Lab | 11:00-11:50am | Wednesday | 0 of 15 | VKC204 | |||

30253R | 001 | Lab | 12:00-12:50pm | Wednesday | 0 of 15 | SOSB43 | |||

30254R | 001 | Lab | 1:00-1:50pm | Wednesday | 0 of 15 | SOSB43 | |||

30255R | 001 | Lab | 4:30-5:20pm | Tuesday | 0 of 15 | GFS113 | |||

30256R | 001 | Lab | 10:00-10:50am | Tuesday | 0 of 15 | GFS202 | |||

30258R | 001 | Lab | 4:00-4:50pm | Tuesday | 0 of 15 | GFS210 |

Basic datatypes, assignments, control statements (if, switch, for, while), input/output (printf, scanf, cin, cout), functions, arrays, structures, recursion, dynamic memory, file handling. Programming in C/C++.

**Corequisite:**1 from (CSCI 109 or EE 109)**Note:**D Clearance Request Form tinyurl.com/CSIntroCourses

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29902D | 001 | Lecture | 11:00-12:20pm | Tue, Thu | 0 of 76 | Andrew Goodney | ZHS352 | ||

29906D | 001 | Lecture | 2:00-3:20pm | Tue, Thu | 0 of 75 | Andrew Goodney | ZHS352 | ||

30207D | 001 | Lecture | 2:00-3:20pm | Mon, Wed | 0 of 60 | Olivera Grujic | SSL150 | ||

30274D | 001 | Lecture | 12:00-1:50pm | Mon, Wed | 0 of 75 | Olivera Grujic | ZHS159 | ||

29903R | 001 | Lab | 2:00-3:50pm | Friday | 0 of 30 | ||||

29904R | 001 | Lab | 12:00-1:50pm | Friday | 0 of 36 | SAL127 | |||

30054R | 001 | Lab | 5:00-6:50pm | Friday | 0 of 30 | ||||

30055R | 001 | Lab | 10:00-11:50am | Friday | 0 of 36 | SAL126 | |||

30120R | 001 | Lab | 4:00-5:50pm | Friday | 0 of 36 | SAL126 | |||

30121R | 001 | Lab | 5:00-6:50pm | Friday | 0 of 36 | SAL127 | |||

30374R | 001 | Lab | 12:00-1:50pm | Friday | 0 of 36 | SAL126 |

Introduces the student to standard data structures (linear structures such as linked lists, (balanced) trees, priority queues, and hashtables), using the C++ programming language.Prerequisite: CSCI 103. Corequisite: CSCI 170.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29907D | 001 | Lecture | 12:30-1:50pm | Tue, Thu | 0 of 72 | Sandra Batista | ZHS352 | ||

29989D | 001 | Lecture | 9:30-10:50am | Tue, Thu | 0 of 70 | Mark Redekopp | SOSB46 | ||

30001D | 001 | Lecture | 11:00-12:30pm | Tue, Thu | 0 of 70 | Sandra Batista | THH208 |

An introduction to, and overview of, Computer Science; both as a discipline and a body of knowledge.

**Note:**D Clearance Request Form tinyurl.com/CSIntroCourses

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30226D | 001 | Lecture | 12:00-1:50pm | Monday | 0 of 260 | Andrew Goodney | SAL101 |

Sets, functions, series. Big-O notation and algorithm analysis. Propositional and first-order logic. Counting and discrete probability. Graphs and basic graph algorithms. Basic number theory.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29955D | 001 | Lecture | 8:00-9:20am | Tue, Thu | 0 of 80 | WPHB27 |

Object-oriented paradigm for programming-in-the-large in Java; writing sophisticated concurrent applications with animation and graphic user interfaces; using professional tools on team project. Prerequisite: CSCI 104L.

**Prerequisite:**CSCI 104

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29928R | 001 | Lecture | 8:00-9:20am | Tue, Thu | 0 of 60 | Jeffrey Miller | SOSB2 | ||

30381R | 001 | Lecture | 9:30-10:50am | Tue, Thu | 0 of 60 | Jeffrey Miller | THH114 | ||

29929R | 001 | Lab | 3:30-5:20pm | Tuesday | 0 of 30 | ||||

29930R | 001 | Lab | 10:00-11:50am | Wednesday | 0 of 30 | ||||

29931R | 001 | Lab | 5:30-7:20pm | Tuesday | 0 of 30 | ||||

30110R | 001 | Lab | 8:00-9:50am | Wednesday | 0 of 30 | SAL126 | |||

30380R | 001 | Lab | 12:00-1:50pm | Wednesday | 0 of 30 | SAL127 | |||

29981R | 001 | Quiz | 7:00-8:50pm | Thursday | 0 of 180 | TBA |

Algorithm analysis. Greedy algorithms, divide and conquer, dynamic programming, graph algorithms. NP-completeness and basic recursion theory and undecidability. Sorting lower bounds. Number-theory based cryptography.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30094R | 001 | Lecture | 10:00-11:50am | Mon, Wed | 0 of 60 | Aaron Cote | SLH100 | ||

30231R | 001 | Lecture | 2:00-3:20pm | Tue, Thu | 0 of 58 | Aaron Cote | VKC100 | ||

30396R | 001 | Lecture | 2:00-3:20pm | Mon, Wed | 0 of 60 | Aaron Cote | KDC240 | ||

30267R | 001 | Discussion | 10:00-11:50am | Friday | 0 of 70 | THH210 | |||

30268R | 001 | Discussion | 12:00-1:50pm | Friday | 0 of 70 | THH208 | |||

30269R | 001 | Discussion | 2:00-3:50pm | Friday | 0 of 70 | THH210 | |||

30224R | 001 | Quiz | 7:00-8:50pm | Wednesday | 0 of 180 | THH301 |

History of video games; overview of game genres; phases of video game development (concept, preproduction, production, post-production); roles of artists, programmers, designers, and producers.

**Crosslist:**This course is offered by the ITP department but may qualify for major credit in CSCI. To register, enroll in ITP 280.**Note:**Register for one lecture and one lab

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

31869R | 001 | Lecture | 6:00-8:50pm | Wednesday | 0 of 33 | Tom Sloper | KAP107 | ||

31872R | 001 | Lab | 1:00-2:50pm | Friday | 0 of 20 | OHE542 | |||

31873R | 001 | Lab | 3:00-4:50pm | Friday | 0 of 20 | OHE542 |

Explores the aesthetic development/technical implementation necessary to achieve unique, compelling, intuitive visual design in games. Students will develop group visual game design portfolios.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29982R | 001 | Lecture | 10:00-12:50pm | Monday | 0 of 50 | Scott Easley | EGG108 |

Introduction to the software engineering process and software lifecycle. Covers project management, requirements, architecture, design, implementation, testing, and maintenance phase activities in team based projects. Prerequisites: CSCI 201. Duplicates credit in former CSCI 377.

**Prerequisite:**CSCI 201

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29967R | 001 | Lecture | 10:00-11:50am | Mon, Wed | 1 of 110 | William Halfond | SGM101 |

Basic issues in concurrency, deadlock control, synchronization scheduling, memory management, protection and access control, inter-process communication, and structured design. Laboratory experiences with Unix-like operating system. Duplicates credit in CSCI 402.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30175R | 001 | Lecture | 1:00-4:20pm | Friday | 18 of 90 | Tanya Ryutov | SGM101 | ||

29965R | 001 | Quiz | TBA | TBA | 18 of 145 | OFFICE |

Global Internet: design principles, layering, protocol design/analysis.Networked applications, Internet structure/architecture,Protocols for transport/congestion control, network layer/routing,link layer/MAC. Network security. Prerequisites: CSCI 201.

**Recommended preparation:**Familiarity with C and C++.Duplicates credit in EE 450.**Prerequisite:**CSCI 201

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30050R | 001 | Lecture | 12:00-1:50pm | Mon, Wed | 1 of 60 | William Cheng | GFS116 | ||

30051R | 001 | Discussion | TBA | TBA | 1 of 90 | OFFICE |

Computer organization; entity abstraction and representation; program execution; code optimization; memory usage; exception handling; processing control; computer performance; hands-on work done in C and assembly.

**Prerequisite:**CSCI 104

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30052R | 001 | Lecture | 2:00-3:30pm | Tue, Thu | 0 of 90 | Marco Paolieri | THH208 | ||

30234R | 001 | Lecture | 9:30-10:50am | Tue, Thu | 0 of 70 | Andrew Goodney | SOSB2 | ||

30172R | 001 | Discussion | 12:00-1:50pm | Friday | 0 of 48 | KAP156 | |||

30173R | 001 | Discussion | 10:00-11:50am | Friday | 0 of 48 | GFS101 | |||

30259R | 001 | Discussion | 2:00-3:50pm | Friday | 0 of 50 | VKC102 |

Programming applications with dynamic graphical user interfaces. Topics include events, controls, resources, data bindings, styles, and user experience.

**Prerequisite:**1 from (CSCI 104 or ITP 365)**Crosslist:**This course is offered by the ITP department but may qualify for major credit in CSCI. To register, enroll in ITP 368.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

31851R | 001 | Lecture | 12:00-1:50pm | Mon, Wed | 2 of 27 | Kendra Walther | GFS222 | ||

32097R | 001 | Lecture | 2:00-3:50pm | Tue, Thu | 5 of 57 | Kendra Walther | KAP160 |

Underlying concepts and principles required for programming video games (topics include vectors, transformations, 3-D math, geometric primitives, matrices). Prerequisite: CSCI-104 or ITP-365.

**Prerequisite:**1 from (CSCI 104 or ITP 365)**Crosslist:**This course is offered by the ITP department but may qualify for major credit in CSCI. To register, enroll in ITP 380.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

31902R | 001 | Lecture-Lab | 7:00-8:50pm | Tue, Thu | 1 of 33 | Clark Kromenaker | KAP107 | ||

31908R | 001 | Lecture-Lab | 5:00-6:50pm | Tue, Thu | 2 of 33 | Sanjay Madhav | KAP107 | PDF (265599 KB) |

Group project with an outside stakeholder to develop real-world software solutions to large-scale problems. Topics include software engineering, professional preparation, and recent computer science research. Duplicates credit in CSCI 477a and CSCI 477b.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29969R | 001 | Lecture | 4:00-7:50pm | Thursday | 18 of 150 | Jeffrey Miller | SLH200 |

Concurrency, deadlock control, synchronization, process and thread scheduling, memory management, file systems, security and access control, communication and networking, distributed file systems, data management.

**Note:**CSCI 402 is open only to graduate students.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29945D | 001 | Lecture | 9:30-10:50am | Mon, Wed | 0 of 56 | William Cheng | OHE100D | ||

29971D | 001 | Lecture | 12:30-1:50pm | Tue, Thu | 0 of 80 | William Cheng | THH102 | ||

30331D | 001 | Lecture | 9:30-10:50am | Tue, Thu | 0 of 82 | William Cheng | GFS116 | ||

30357R | 001 | Discussion | 10:00-10:50am | Friday | 0 of 75 | OHE136 | |||

30359R | 001 | Discussion | 11:00-11:50am | Friday | 0 of 80 | THH208 | |||

30360R | 001 | Discussion | 12:00-12:50pm | Friday | 0 of 80 | GFS116 | |||

30356R | 014 | Discussion | 10:00-10:50am | Friday | 0 of 20 | DEN@Viterbi |

Computer graphics, OpenGL, 2D and 3D transformations, Bzier splines, computer animation, rendering including ray tracing, shading and lighting, artistic rendering, virtual reality, visualization.

**Prerequisite:**CSCI 104 and 1 from (MATH 225 or (EE 141 and MATH 126) or (EE 141 and MATH 127) or (EE 141 and MATH 129))**Restriction:**Registration closed to the following class level(s): Freshmen, Sophomore**Note:**Students must be in year 3 or above of their program to enroll in this course.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29979R | 001 | Lecture | 10:00-11:50am | Mon, Wed | 3 of 72 | Jernej Barbic | GFS116 | ||

30078R | 001 | Discussion | TBA | TBA | 3 of 72 | OFFICE |

Applications of advanced concepts in C++ including lambda expressions, template metaprogramming, secure coding, parallel programming techniques, and the boost library.

**Prerequisite:**1 from (CSCI 104 or ITP 365)**Crosslist:**This course is offered by the ITP department but may qualify for major credit in CSCI. To register, enroll in ITP 435.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

31826R | 001 | Lecture-Lab | 2:00-3:20pm | Mon, Wed | 6 of 61 | Sanjay Madhav | KAP160 | PDF (287307 KB) |

Practical applications of techniques used to develop a programming language compiler.

**Prerequisite:**ITP 435**Crosslist:**This course is offered by the ITP department but may qualify for major credit in CSCI. To register, enroll in ITP 439.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

32070R | 001 | Lecture-Lab | 5:00-6:20pm | Mon, Wed | 1 of 32 | Sanjay Madhav | KAP148 | PDF (288880 KB) |

Designing, building and programming mobile robots; sensors, effectors, basic control theory, control architectures, some advanced topics, illustrations of state-of-the-art. Teamwork; final project tested in a robot contest. Junior standing or higher. Prerequisites: CSCI 103.

**Prerequisite:**CSCI 103**Restriction:**Registration open to the following class level(s): Junior, Senior

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30024R | 001 | Lecture | 3:30-4:50pm | Mon, Wed | 1 of 30 | Heather Culbertson | VKC211 | ||

29910R | 001 | Lab | 6:30-9:20pm | Monday | 1 of 15 | VHE205 | |||

29911R | 001 | Lab | 6:30-9:20pm | Wednesday | 0 of 15 | VHE205 |

Network architectures; layered protocols, network service interface; local networks; long-haul networks; internal protocols; link protocols; addressing; routing; flow control; higher level protocols.

**Restriction:**Registration closed to the following class level(s): Freshmen, Sophomore**Crosslist:**This course is offered by the EE department but may qualify for major credit in CSCI. To register, enroll in EE 450.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

31189R | 001 | Quiz | 5:00-6:50pm | Friday | 22 of 200 | OFFICE | |||

30568D | 014 | Lecture | 7:30-8:50am | Tue, Thu | 0 of 20 | Ali Zahid | DEN@Viterbi | ||

30570R | 014 | Discussion | 5:00-5:50pm | Monday | 0 of 20 | DEN@Viterbi | |||

30560R | 001 | Lecture | 2:00-3:20pm | Tue, Thu | 21 of 62 | Ali Zahid | SSL150 | ||

30828R | 001 | Lecture | 7:30-8:50am | Tue, Thu | 1 of 76 | Ali Zahid | OHE136 | ||

30566R | 001 | Discussion | 5:00-5:50pm | Wednesday | 8 of 40 | VHE217 | |||

30719R | 001 | Discussion | 11:00-11:50am | Friday | 8 of 42 | KAP144 | |||

30829R | 001 | Discussion | 5:00-5:50pm | Monday | 6 of 80 | OHE136 |

Introduction to parallel programming techniques, models and optimization strategies; Application mapping to multi-core, accelerator, GPU and cloud platforms; High Performance Computing and Data Science applications.

**Prerequisite:**1 from (EE 355 or CSCI 201)**Crosslist:**This course is offered by the EE department but may qualify for major credit in CSCI. To register, enroll in EE 451.**Note:**Register for lecture and lab

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30661D | 001 | Lecture | 3:30-4:50pm | Tue, Thu | 9 of 60 | Xuehai Qian | GFS101 | ||

30466R | 001 | Lab | 3:30-4:50pm | Friday | 9 of 60 | SLH100 |

Intensive introduction to programming principles, discrete mathematics for computing, software design and software engineering concepts. Not available for credit to computer sciencemajors, graduate or undergraduate.

**Note:**Register for lecture and one lab

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30327D | 001 | Lecture | 9:30-10:50am | Tue, Thu | 0 of 150 | Claire Bono | SGM124 | ||

29919R | 001 | Lab | 5:00-6:50pm | Thursday | 0 of 30 | SAL126 | |||

29923R | 001 | Lab | 7:00-8:50pm | Thursday | 0 of 30 | SAL126 | |||

30029R | 001 | Lab | 1:00-2:50pm | Thursday | 0 of 30 | ||||

30329D | 001 | Lab | 3:00-4:50pm | Thursday | 0 of 30 | SAL126 | |||

30384D | 001 | Lab | 2:00-3:50pm | Friday | 0 of 30 | SAL127 | |||

29934D | 014 | Lecture | 9:30-10:50am | Tue, Thu | 0 of 25 | Claire Bono | DEN@Viterbi | ||

30023R | 014 | Lab | TBA | TBA | 0 of 25 | DEN@Viterbi |

Register Transfer level machine organization; performance; arithmetic; pipelined processors; exceptions, out-of-order and speculative execution, cache, virtual memory, multi-core multi-threaded processors, cache coherence.

**Prerequisite:**EE 354**Crosslist:**This course is offered by the EE department but may qualify for major credit in CSCI. To register, enroll in EE 457.**Note:**Register for lecture and discussion

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30595D | 014 | Lecture | 5:00-6:50pm | Tue, Thu | 0 of 20 | Gandhi Puvvada | DEN@Viterbi | ||

30594R | 014 | Discussion | 12:00-12:50pm | Friday | 0 of 20 | DEN@Viterbi | |||

30478R | 001 | Lecture | 12:00-1:50pm | Tue, Thu | 5 of 52 | Gandhi Puvvada | OHE230 | ||

30591R | 001 | Lecture | 5:00-6:50pm | Tue, Thu | 1 of 75 | Gandhi Puvvada | OHE136 | ||

30497R | 001 | Discussion | 3:30-4:20pm | Thursday | 2 of 76 | ZHS352 | |||

30593R | 001 | Discussion | 12:00-12:50pm | Friday | 4 of 110 | OHE122 | |||

30997R | 001 | Quiz | TBA | TBA | 6 of 150 | OFFICE |

File input/output techniques, basic methods for file organization, file managers, principles of databases, conceptual data models, and query languages. Prerequisite: CSCI 201.

**Prerequisite:**CSCI 201

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30124R | 001 | Lecture | 2:00-3:50pm | Mon, Wed | 1 of 38 | Shahram Ghandeharizadeh | THH119 |

Techniques for building the core components of a game engine; 2-D/3-D graphics, collision detection, artificial intelligence algorithms, shading, programming input devices. Prerequisite: ITP-380.

**Prerequisite:**ITP 380**Crosslist:**This course is offered by the ITP department but may qualify for major credit in CSCI. To register, enroll in ITP 485.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

32062R | 001 | Lecture-Lab | 10:00-11:50am | Mon, Wed | 1 of 33 | Matthew Whiting | KAP107 |

Individual research and readings. Not available for graduate credit.

**Restriction:**Registration open to the following class level(s): Junior, Senior

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30229D | 001 | Lecture | TBA | TBA | 0 of 100 | OFFICE |

An original project will be constructed applying computer technology (in either hardware or software) to produce a result useful in the physics classroom or laboratory.

**Crosslist:**This course is offered by the PHYS department but may qualify for major credit in CSCI. To register, enroll in PHYS 495.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

50526D | 001 | Lecture-Lab | TBA | TBA | 0 of 24 | OFFICE |

Selected topics in computer science.

Section | Session | Units | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|---|

Concepts of Programming Languages | ||||||||||

30277D | 001 | 4.0 | Lecture | 10:00-11:50am | Mon, Wed | 0 of 25 |

Linear equations and matrices, Gauss elimination, error estimates, iteration techniques; contractive mappings, Newton's method; matrix eigenvalue problems; least-squares approximation, Newton-Cotes and Gaussian quadratures; finite difference methods. Prerequisite: linear algebra and calculus.

**Crosslist:**This course is offered by the MATH department but may qualify for major credit in CSCI. To register, enroll in MATH 501.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

39694R | 001 | Lecture | 12:00-12:50pm | MWF | 5 of 35 | Chunming Wang | KAP147 |

Computational linear algebra; solution of general nonlinear systems of equations; approximation theory using functional analysis; numerical solution of ordinary and partial differential equations.

**Prerequisite:**(MATH 425A and MATH 471)**Crosslist:**This course is offered by the MATH department but may qualify for major credit in CSCI. To register, enroll in MATH 502a.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

39698R | 001 | Lecture | 10:00-10:50am | MWF | 2 of 30 | Haitian Yue | KAP140 |

Markov processes in discrete or continuous time; renewal processes; martingales; brownian motion and diffusion theory; random walks, inventory models, population growth, queuing models, shot noise.

**Prerequisite:**MATH 505A**Crosslist:**This course is offered by the MATH department but may qualify for major credit in CSCI. To register, enroll in MATH 505b.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

39708R | 001 | Lecture | 1:00-1:50pm | MWF | 2 of 30 | Jason Fulman | KAP140 |

Networked game communication architectures, protocol development, architecting networked game AI clients/services. Character following, knowledge representation and reasoning, dynamic play strategies, search, learning, and planning.

**Recommended preparation:**CSCI 420 or CSCI 580 or an equivalent course in graphics.Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30083R | 048 | Lab | TBA | TBA | 0 of 50 | OFFICE |

Intensive overview of cryptography for practitioners, historical perspective on early systems, number theoretic foundations of modern day cryptosystems and basic cryptanalysis.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30031R | 048 | Discussion | TBA | TBA | 0 of 40 | OFFICE | |||

30032R | 034 | Discussion | TBA | TBA | 0 of 20 | OFFICE |

Walks in graphs, random walks, group actions on boolean algebras, Young diagrams and tableaux, the Matrix-Tree Theorem.

**Crosslist:**This course is offered by the MATH department but may qualify for major credit in CSCI. To register, enroll in MATH 533.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

39745R | 001 | Lecture | 10:00-10:50am | MWF | 1 of 20 | Sami Assaf | SOSB37 |

Linear programming models for resource allocation; simplex and revised simplex methods; duality; sensitivity; transportation problems; selected extensions to large scale, multiobjective, and special structured models.

**Prerequisite:**1 from (EE 441 or MATH 225)**Crosslist:**This course is offered by the ISE department but may qualify for major credit in CSCI. To register, enroll in ISE 536.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

31536D | 048 | Lecture | 6:40-9:20pm | Monday | 0 of 30 | Sima Parisay | OHE100B | ||

31736D | 034 | Lecture | 6:40-9:20pm | Monday | 0 of 5 | DEN@Viterbi |

Function and design of modern storage systems, including cloud; data management techniques; data modeling; network attached storage, clusters and data centers; relational databases; the map-reduce paradigm.

**Crosslist:**This course is offered by the INF department but may qualify for major credit in CSCI. To register, enroll in INF 551.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

32405D | 048 | Lecture | 3:30-5:20pm | Mon, Wed | 0 of 50 | THH116 |

Fundamental skills for modeling and controlling of dynamic systems for robotic applications and graphics animations; control theory; kinematics; dynamics; sensor processing; real-time operating systems; robot labs.

**Recommended preparation:**Basic knowledge in linear algebra (matrices and vectors), calculus, programming in C/C++ or any another language or permission of the instructor.Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30064R | 048 | Lab | 4:00-6:00pm | Friday | 0 of 80 | TBA |

Asynchronous channels and architectures; implementation design styles; controller synthesis; hazards, and races; Petri-nets; performance analysis, and optimization; globally asynchronous locally synchronous design. Open only to graduate students.

**Prerequisite:**EE 477**Restriction:**Registration open to the following class level(s): Master Student, Doctoral Student**Crosslist:**This course is offered by the EE department but may qualify for major credit in CSCI. To register, enroll in EE 552.**Note:**Register for lecture and discussion

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30702R | 048 | Lecture | 6:40-9:20pm | Tuesday | 45 of 45 | Dan Gunnar Mika Nystroem | RTH105 | ||

30703R | 048 | Discussion | 12:00-12:50pm | Friday | 45 of 45 | OHE100D | |||

30700D | 034 | Lecture | 6:40-9:20pm | Tuesday | 0 of 20 | Dan Gunnar Mika Nystroem | DEN@Viterbi | ||

30701R | 034 | Discussion | 12:00-12:50pm | Friday | 0 of 20 | DEN@Viterbi |

Advanced topics in operating system research: new OS structures, novel memory management, communication, file system, process management, reliability and security techniques.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29935R | 048 | Lab | TBA | TBA | 0 of 40 | OFFICE | |||

29949R | 048 | Quiz | 6:30-7:20pm | Wednesday | 0 of 40 |

Computer architecture from a design perspective: Pipelined processors, speculative execution, VLIW, vector processors, GPU/GPGPU, memory technology and systems, interconnection networks, shared-memory and message-passing multiprocessors, chip multiprocessors.

**Prerequisite:**EE 457**Crosslist:**This course is offered by the EE department but may qualify for major credit in CSCI. To register, enroll in EE 557.**Note:**Prerequisite taken at USC or placement exam required. Register for lecture and discussion

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30820R | 048 | Lecture | 9:00-10:50am | Tue, Thu | 30 of 50 | Michel Dubois | OHE122 | ||

30722R | 048 | Discussion | 3:00-3:50pm | Friday | 30 of 50 | OHE132 | |||

30716D | 034 | Lecture | 9:00-10:50am | Tue, Thu | 0 of 20 | Michel Dubois | DEN@Viterbi | ||

30718R | 034 | Discussion | 3:00-3:50pm | Friday | 0 of 20 | DEN@Viterbi |

Distribution free classification, discriminant functions, training algorithms; statistical classification, parametric and nonparametric techniques; artificial neural networks.

**Corequisite:**EE 503 and 1 from (EE 441 or EE 510)**Crosslist:**This course is offered by the EE department but may qualify for major credit in CSCI. To register, enroll in EE 559.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30561D | 034 | Lecture | 3:30-4:50pm | Mon, Wed | 0 of 20 | Keith Jenkins | DEN@Viterbi | ||

30728D | 048 | Lecture | 3:30-4:50pm | Mon, Wed | 118 of 118 | Keith Jenkins | OHE122 | ||

30489R | 034 | Discussion | 5:30-6:20pm | Thursday | 0 of 20 | DEN@Viterbi | |||

30565R | 048 | Discussion | 5:30-6:20pm | Thursday | 118 of 118 | OHE132 |

Foundations of symbolic intelligent systems, search, logic, knowledge representation, planning, learning.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29942R | 048 | Discussion | 11:00-11:50am | Friday | 0 of 34 | LVL13 | |||

29944R | 048 | Discussion | 2:00-2:50pm | Friday | 0 of 33 | KAP148 | |||

29947R | 048 | Discussion | 10:00-10:50am | Wednesday | 0 of 24 | OHE120 | |||

30174R | 048 | Discussion | 2:00-2:50pm | Thursday | 0 of 34 | KDC236 | |||

30180R | 048 | Discussion | 3:00-3:50pm | Wednesday | 0 of 24 | THHB10 | |||

30181R | 048 | Discussion | 4:00-4:50pm | Wednesday | 0 of 24 | THHB10 | |||

30183R | 048 | Discussion | 3:00-3:50pm | Thursday | 0 of 24 | KDC236 | |||

30202R | 048 | Discussion | 4:00-4:50pm | Thursday | 0 of 40 | KDC236 | |||

30204R | 048 | Discussion | 10:00-10:50am | Friday | 0 of 36 | LVL13 | |||

30185R | 048 | Quiz | TBA | TBA | 0 of 300 | OFFICE | |||

30030R | 034 | Discussion | 10:00-10:50am | Wednesday | 0 of 25 | DEN@Viterbi | |||

30035R | 034 | Quiz | TBA | TBA | 0 of 25 | DEN@Viterbi |

Statistical methods for building intelligent and adaptive systems that improve performance from experiences; Focus on theoretical understanding of these methods and their computational implications.

**Recommended preparation:**Undergraduate level training or coursework in linear algebra, multivariate calculus, basic probability and statistics; an undergraduate level course in Artificial Intelligence may be helpful but is not required.Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29994R | 048 | Discussion | 8:00-8:50am | Friday | 0 of 30 | VHE217 | |||

29995R | 048 | Discussion | 9:00-9:50am | Friday | 0 of 30 | VHE217 | |||

29996R | 048 | Discussion | 11:00-11:50am | Friday | 0 of 30 | VHE217 | |||

29997R | 048 | Discussion | 12:00-12:50pm | Friday | 0 of 30 | THH112 | |||

30186R | 048 | Discussion | 8:00-8:50am | Tuesday | 0 of 30 | THH108 | |||

30261R | 048 | Discussion | 9:00-9:50am | Tuesday | 0 of 30 | THH108 | |||

30262R | 048 | Discussion | 10:00-10:50am | Tuesday | 0 of 30 | ||||

30263R | 048 | Discussion | 1:00-1:50pm | Tuesday | 0 of 30 | OHE132 | |||

30270R | 048 | Discussion | 1:00-1:50pm | Friday | 0 of 30 | VHE217 | |||

30271R | 048 | Discussion | 2:00-2:50pm | Friday | 0 of 30 | KAP140 | |||

30272R | 048 | Discussion | 3:00-3:50pm | Friday | 0 of 30 | KAP140 | |||

30273R | 048 | Discussion | 4:00-4:50pm | Friday | 0 of 30 | KAP140 | |||

30265R | 048 | Quiz | TBA | Friday | 0 of 331 | OFFICE | |||

30264R | 034 | Discussion | 1:00-1:50pm | Tuesday | 0 of 20 | DEN@Viterbi | |||

30266R | 034 | Quiz | 4:00-5:50pm | Friday | 0 of 20 | DEN@Viterbi |

Explores fundamental techniques such as recursion, Fourier transform ordering, dynamic programming for efficient algorithm construction. Examples include arithmetic, algebraic, graph, pattern matching, sorting, searching algorithms.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

29917R | 048 | Discussion | 10:00-10:50am | Friday | 0 of 60 | GFS118 | |||

29922R | 048 | Discussion | 11:00-11:50am | Friday | 0 of 35 | THH118 | |||

29926R | 048 | Discussion | 12:00-12:50pm | Friday | 0 of 40 | THH118 | |||

29932R | 048 | Discussion | 3:00-3:50pm | Friday | 0 of 35 | KAP163 | |||

29951R | 048 | Discussion | 4:00-4:50pm | Friday | 0 of 40 | KAP163 | |||

30084R | 048 | Discussion | 12:00-12:50pm | Wednesday | 0 of 40 | THH118 | |||

30085R | 048 | Discussion | 1:00-1:50pm | Wednesday | 0 of 35 | SOSB44 | |||

30089D | 048 | Discussion | 10:00-10:50am | Monday | 0 of 1 | ||||

30096R | 048 | Discussion | 2:00-2:50pm | Friday | 0 of 35 | OHE132 | |||

30205R | 048 | Discussion | 1:00-1:50pm | Wednesday | 0 of 50 | VPD105 | |||

30206R | 048 | Discussion | 3:00-3:50pm | Wednesday | 0 of 40 | KAP163 | |||

30239R | 048 | Discussion | 11:00-11:50am | Tuesday | 0 of 36 | KAP145 | |||

30240R | 048 | Discussion | 12:00-12:50pm | Tuesday | 0 of 40 | ||||

30241R | 048 | Discussion | 1:00-1:50pm | Tuesday | 0 of 40 | ||||

30242R | 048 | Discussion | 3:30-4:20pm | Tuesday | 0 of 36 | VKC211 | |||

30243R | 048 | Discussion | 4:30-5:20pm | Tuesday | 0 of 36 | VKC211 | |||

30246R | 048 | Discussion | 12:00-12:50pm | Wednesday | 0 of 36 | VKC258 | |||

30227R | 048 | Quiz | 8:00-9:50pm | Friday | 0 of 560 | TBA | |||

29952R | 034 | Discussion | 2:00-2:50pm | Friday | 0 of 30 | DEN@Viterbi | |||

29953R | 034 | Quiz | 8:00-9:50pm | Friday | 0 of 30 | DEN@Viterbi |

Advanced study of programming languages with application to the Web. Languages for client-side and server-side processing. Examples taken from: HTML, Java, JavaScript, Perl, XML and others.

**Recommended preparation:**knowledge of at least two programming languagesSection | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30109R | 048 | Discussion | TBA | TBA | 0 of 430 | OFFICE |

Database system architecture; conceptual database models; semantic, object-oriented, logic-based, and relational databases; user and program interfaces; database system implementation; integrity, security, concurrency and recovery.

**Recommended preparation:**Knowledge of relational databases, SQL, relational algebra and physical database design is required. Open only to graduate students.**Restriction:**Registration open to the following class level(s): Master Student, Doctoral Student

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30150D | 048 | Lecture | 5:00-8:20pm | Wednesday | 0 of 330 | SGM123 | |||

30158D | 048 | Lecture | 5:00-8:20pm | Thursday | 0 of 230 | SGM124 | |||

30371R | 048 | Quiz | 6:00-7:50pm | Friday | 0 of 400 | TBA | |||

30146R | 034 | Discussion | 5:00-5:50pm | Wednesday | 0 of 25 | DEN@Viterbi | |||

30157R | 034 | Quiz | 6:00-7:50pm | Friday | 0 of 25 | DEN@Viterbi |

Credit on acceptance of thesis. Graded IP/CR/NC.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30168D | 048 | Lecture | TBA | TBA | 0 of 25 | OFFICE |

Course content to be selected each semester from recent developments in computer science.

Section | Session | Units | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|---|

Deep Learning and its Applications | ||||||||||

30088D | 048 | 4.0 | Lecture | 5:00-8:20pm | Tuesday | 0 of 230 | THH201 | |||

Hacking for Defense | ||||||||||

30228D | 048 | 4.0 | Lecture | 3:30-6:50pm | Thursday | 0 of 30 | VKC260 |

Course content to be selected each semester from recent developments in computer science.

**Restriction:**Registration open to the following class level(s): Doctoral Student

Section | Session | Units | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|---|

Cognitive Architectures and the Common Model of Cognition | ||||||||||

30100D | 048 | 4.0 | Lecture | 10:00-11:50am | Mon, Wed | 0 of 20 | GFS109 | |||

Machine Learning for Knowledge Extraction and Reasoning | ||||||||||

30233D | 048 | 4.0 | Lecture | 2:00-5:20pm | Thursday | 0 of 25 | THHB9 |

Research leading to the doctorate. Maximum units which may be applied to the degree to be determined by the department. Graded CR/NC.

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30208D | 048 | Lecture | TBA | TBA | 0 of 200 | OFFICE |

Credit on acceptance of Dissertation. Graded CR/NC.

**Restriction:**Registration open to the following class level(s): Doctoral Student

Section | Session | Type | Time | Days | Registered | Instructor | Location | Syllabus | Info |
---|---|---|---|---|---|---|---|---|---|

30214D | 048 | Lecture | TBA | TBA | 0 of 30 | OFFICE |