CS 240 - C Programming - C Programming Language, Brian W Kerninghan and Dennis M Ritchie CS 250 - Computer Architecture - Essentials of Computer Architecture, Douglas E Comer CS 251 - Data Structures and Algorithms - Algorithms, Robert Sedgewick and Kevin Wayne CS 252 - Systems Programming - Introduction to Systems Programming: A Hands on Approach, Gustavo Rodriguez-Rivera and Justin Ennen CS 307 - Software Engineering - Object Oriented Software Engineering: Practical Software Development using UML and Java CS 314 - Numerical Methods - Introduction to Scientific Computing, Charles Van Loan CS 334 - Fundamentals of Computer Graphics - Computer Graphics: Principles and Practice, Hughes CS 352 - Compilers: Principles and Practice - Modern Compiler Implementation in Java CS 354 - Operating Systems - Operating System Design: The Xinu Approach, Douglas Comer CS 381 - Introduction to the Analysis of Algorithms - Introduction to Algorithms, T. Cormen and C. Leiserson CS 434 - Advanced Computer Graphics - Fundamentals of Computer Graphics, Peter Shirley CS 448 - Introduction to Relational Database Systems - Database Management Systems, Raghu Ramakrishnan CS 471 - Introduction to Artificial Intelligence - Artificial Intelligence: A Modern Approach, Russell and Norvig CS 490 - Emerging Technologies in CS - NO TEXTBOOK *These courses were taken from Purdue's CS degree in 2017 **Some textbooks are substituted for other, similar ones due to availability