Computer Science Courses
2022-2023 Academic Year
We expect to offer at least the following courses in the 2022-23 academic year. Professor Hannen Wolfe will be on sabbatical.
Fall 2022
- CS 151: Computational Thinking: Visual Media
- CS 152: Computational Thinking: Science
- CS 231: Data Structures and Algorithms
- CS 232: Computer Organization
- CS 321: Software Engineering (Al Madi) (sequence course 1)
- CS 341: Systems Biology I (Taylor) (sequence course 1)
- CS 343: Neural Networks (Layton) (sequence course 1)
- CS 375: Analysis of Algorithms (Aaron)
- CS 378: Introduction to Computational Theory (Aaron)
- CS 436: Artificial Intelligence Seminar (Stent) (1-credit course)
January 2023
- CS 269: Game Design
Spring 2023
- CS 151: Computational Thinking: Visual Media (Doore, Al Madi)
- CS 152: Computational Thinking: Science (Harper)
- CS 231: Data Structures and Algorithms (Harper, Aaron)
- CS 251: Data Analysis and Visualization (Taylor, Stent)
- CS 252: Mathematical Data Analysis and Visualization (prerequisite: Linear Algebra)(Layton, Taylor)
- CS 310: Creating Future Worlds: Computing, Ethics, and Society (Doore)
- CS 333: Programming Languages (Li)
- CS 343: Neural Networks (Stent)
- CS 376: Algorithm Analysis and Design (Aaron)
- CS 421: Empirical Software Engineering (Al Madi)
- CS 441: Systems Biology II (Taylor)
- CS 443: Bio-Inspired Machine Learning (Layton)
2023-2024 Academic Year
We expect to offer at least the following courses in the 2023-24 academic year. Professors Al Madi and Doore will be on sabbatical.
Fall 2023
- CS 125: Introduction to R
- CS 151: Computational Thinking: Visual Media
- CS 152: Computational Thinking: Science
- CS 231: Data Structures and Algorithms
- CS 232: Computer Organization
- CS 333: Programming Languages
- CS 331: Computer Networks (Li) (sequence course 1)
- CS 343: Neural Networks (Layton) (sequence course 1)
- CS 346: Computational Modeling and Simulation I (Aaron) (sequence course 1)
- CS 3XX: TBD (Bender) sequence course 1)
- CS 375: Analysis of Algorithms
January 2024
- TBD
Spring 2024
- CS 151: Computational Thinking: Visual Media
- CS 152: Computational Thinking: Science
- CS 231: Data Structures and Algorithms
- CS 251: Data Analysis and Visualization
- CS 252: Mathematical Data Analysis and Visualization (prerequisite: Linear Algebra)
- CS 333: Programming Languages
- CS 376: Algorithm Design and Analysis (Aaron)
- CS 431: Advanced Computer Networks (Li) (sequence course 2)
- CS 443: Bio-Inspired Machine Learning (Layton) (sequence course 2)
- CS 4XX: TBD (Bender) (sequence course 2)
- CS 446: Computational Modeling and Simulation II (Aaron) (sequence course 2)
Archive
2021-2022 Academic Year
Fall 2021
- CS 151: Computational Thinking: Visual Media (Wolfe, Bender)
- CS 152: Computational Thinking: Science (Doore, Harper)
- CS 231: Data Structures and Algorithms (Al Madi, Harper)
- CS 232: Computer Organization: Lectures, Labs (Li, Taylor)
- CS 251: Data Analysis and Visualization: Lectures, Labs (Taylor, Wolfe)
- CS 333: Programming Languages (Taylor)
- CS 330: Real-World Database Design, Development, and Deployment I (Doore)
- CS 321: Software Engineering (Al Madi)
- CS 353: Interactive Systems (Wolfe)
- CS 375: Analysis of Algorithms (Bender)
- CS 431: Advanced Computer Networks (Li)
January 2022
- CS 269: Game Design (Maxwell)
- CS 325: Web Programming (Skrien)
Spring 2022
- CS 125: Introduction to R (Taylor)
- CS 151: Computational Thinking: Visual Media (Wolfe, Bender)
- CS 152: Computational Thinking: Science (Harper)
- CS 231: Data Structures and Algorithms (Wolfe, Harper, Bender)
- CS 251: Data Analysis and Visualization (Taylor)
- CS 252: Mathematical Data Analysis and Visualization (prerequisite: Linear Algebra) (Stent)
- CS 333: Programming Languages (Taylor)
- MA/CS359: Finite Fields and Error Correcting Codes (Abdelghany) (elective)
- CS 361: Object Oriented Design (Skrien)
- CS 375: Analysis of Algorithms (Bender)
- CS 310: Creating Future Worlds: Computing, Ethics, and Society (Doore)
- CS 337: Operating Systems (Al Madi)
- CS 430: Advanced Database Design, Development, and Deployment (Doore)
- CS 421: Empirical Software Engineering (Al Madi)
2020-2021 Academic Year
Fall 2020
- CS 125: Introduction to R (Taylor)
- CS 151A: Computational Thinking: Visual Media (Doore)
- CS 151B: Computational Thinking: Visual Media (Layton)
- CS 151C1: Computational Thinking: Visual Media (Doore)
- CS 151C2: Computational Thinking: Visual Media (Al Madi)
- CS 231: Data Structures and Algorithms (Al Madi, Wolfe)
- CS 232: Computer Organization (lectures Li, labs Taylor)
- CS 333: Programming Languages (Li)
- CS 341: Systems Biology I (Taylor)
- CS 343: Neural Networks (Layton)
- CS 353: Interactive Systems I (Wolfe)
- CS 376: Algorithm Design and Analysis (Aaron)
- CS 446: Computational Modeling and Simulation II (Aaron)
January 2021
- CS 297: Data Driven Decision-Making (Garfield)
Spring 2021
- CS 151A: Computational Thinking: Visual Media (Doore)
- CS 151B: Computational Thinking: Visual Media (Layton)
- CS 151C: Computational Thinking: Visual Media (Al Madi)
- CS 231: Data Structures and Algorithms (Skrien, Al Madi)
- CS 251: Data Analysis and Visualization (Taylor, Layton, Wolfe)
- CS 252: Mathematical Data Analysis and Visualization (Layton, Wolfe)
- CS 298: Ethics of Computing (Doore)
- CS 331: Computer Networks (Li)
- CS 333: Programming Languages (Li)
- CS 346: Computational Modeling and Simulation (Aaron)
- CS 375: Analysis of Algorithms (Aaron)
- CS 378: Introduction to Computational Theory (Aaron)
- CS 441: Systems Biology II (Taylor)
- CS 453: Interactive Systems II (Wolfe)
2019-2020 Academic Year
Fall 2019
- CS 125: Introduction to R (Maxwell)
- CS 151: Computational Thinking: Visual Media (Labs) (Wolfe, Maxwell)
- CS 152: Computational Thinking: Science (Labs) (Eaton, Maxwell)
- CS 231: Data Structures and Algorithms (Labs) (Wolfe, Maxwell)
- CS 232: Computer Organization (Labs) (Eaton, Maxwell)
- CS 331: Computer Networks (Li)
- CS 333: Programming Languages (Li)
- CS 343: Neural Networks (Layton)
- CS 375: Analysis of Algorithms (Aaron)
- CS 378: Introduction to Theory of Computation (Aaron)
- CS 497: Advanced Perception (Maxwell)
January 2019
- CS 269: Computer Game Design (Maxwell)
Spring 2020
- CS 151: Computational Thinking: Visual Media (Labs) (Wolfe, Maxwell)
- CS 152: Computational Thinking: Science (Labs) (Eaton, Maxwell)
- CS 231: Data Structures and Algorithms (Labs) (Skrien, Maxwell)
- CS 251: Data Analysis and Visualization (Eaton, Layton, Wolfe)
- CS 333: Programming Languages (Li)
- CS 346: Computational Modeling and Simulation (Aaron)
- CS 375: Analysis of Algorithms (Aaron)
- CS 431: Advanced Computer Networks (Li)
- CS 443: Computational Neuroscience (Layton)
2018-2019 Academic Year
Fall 2018
- CS 151: Computational Thinking: Visual Media (Labs) (Layton, Taylor)
- CS 152: Computational Thinking: Science (Labs) (Codabux, Aaron)
- CS 153: Computational Thinking: Smart Systems (Labs) (Eaton, Maxwell)
- CS 197: Introduction to R (Maxwell)
- CS 231: Data Structures and Algorithms (Layton, Codabux, Maxwell, Aaron)
- CS 232: Computer Organization (Maxwell, Taylor)
- CS 333: Programming Languages (Taylor)
- CS 342: Embedded Systems (Eaton)
- CS 361: Object-Oriented Design (Skrien)
- CS 375: Analysis of Algorithms (Aaron)
- CS 451: Advanced Computer Graphics (Maxwell)
January 2019
- CS 267: Interactive Digital Media (Maxwell)
- CS 325: Web Programming (Skrien)
Spring 2019
- CS 151: Computational Thinking: Visual Media (Labs) (Eaton, Layton)
- CS 152: Computational Thinking: Science (Labs) (Codabux, Aaron)
- CS 231: Data Structures and Algorithms (Codabux, Taylor, Maxwell, Layton, Aaron)
- CS 251B: Data Analysis and Visualization (Labs) (Taylor, Layton, Maxwell, Codabux)
- CS 333: Programming Languages (Taylor)
- CS 365: Computer Vision (Maxwell)
- CS 375: Analysis of Algorithms
- CS 442: Computational Physiology (Eaton)
- CS 461: Object-Oriented Systems (Skrien)
2017-2018 Academic Year
Fall 2017
- CS 151: Computational Thinking: Visual Media (Eaton, Maxwell)
- CS 152: Computational Thinking: Science (Labs) (Skrien, Eaton)
- CS 231: Data Structures and Algorithms (Labs) (Taylor, Codabux, Eaton)
- CS 232: Computer Organization (Labs) (Li/Maxwell)
- CS 333: Programming Languages (Li)
- CS 341: Systems Biology I (Taylor)
- CS 397: Software Engineering I (Codabux)
- CS 378: Introduction to the Theory of Computation (Skrien)
January 2018
- CS 325: Web Development (Skrien)
Spring 2018
- CS 151: Computational Thinking: Visual Media (Labs) (Skrien, Eaton)
- CS 152: Computational Thinking: Science (Labs) (Codabux, Eaton)
- CS 231: Data Structures and Algorithms (Labs) (Li, Maxwell)
- CS 251: Data Analysis and Visualization (Taylor, Eaton, Maxwell, Codabux)
- CS 333: Programming Languages (Maxwell)
- CS 336: Parallel and Distributed Systems (Taylor)
- CS 351: Computer Graphics (Maxwell)
- CS 375: Analysis of Algorithms (Skrien)
- CS 441: Systems Biology II (Taylor)
- CS 498: Software Engineering II (Codabux)
2016-2017 Academic Year
Fall 2016
- CS 151: Computational Thinking: Visual Media (Labs) (Skrien/Maxwell)
- CS 152: Computational Thinking: Science (Labs) (Taylor/Maxwell)
- CS 231: Data Structures and Algorithms (Labs) (Maxwell/Taylor)
- CS 232: Computer Organization (Labs) (Li/Taylor)
- CS 331: Computer Networks (Li)
- CS 333: Programming Languages (Li)
- CS 361: Object-Oriented Design (Skrien)
January 2017
- CS 269: Computer Game Design (Maxwell)
Spring 2017
- CS 151: Computational Thinking: Visual Media (Labs) (Taylor/Li)
- CS 152: Computational Thinking: Science (Labs) (Skrien/Taylor)
- CS 231: Data Structures and Algorithms (Labs) (Codabux/Li)
- CS 251: Data Analysis and Visualization (Taylor/Codabux/Maxwell)
- CS 325: Web Programming (Codabux)
- CS 351: Computer Graphics (Maxwell)
- CS 363: Robotics (Maxwell)
- CS 375: Analysis of Algorithms (Skrien)
- CS 431: Advanced Computer Networks (Li)
- CS 461: Object-Oriented Systems (Skrien)
2015-2016 Academic Year
Fall 2015
- CS 151: Computational Thinking: Visual Media Applications (Labs) (Maxwell/Taylor)
- CS 152: Computational Thinking: Science Applications (Labs) (Maxwell/Taylor)
- CS 231: Data Structures and Algorithms (Labs) (Skrien/Li)
- CS 333: Programming Languages (Li)
- CS 341: System Biology I (Taylor)
- CS 378: Introduction to Computational Theory (Skrien), requires MA 274
January 2016
- CS 267: Interactive Digital Media (Maxwell)
Spring 2016
- CS 151: Computational Thinking: Visual Media (Labs) (Skrien/Li)
- CS 232: Computer Organization (Labs) (Li/Maxwell)
- CS 251: Data Analysis and Visualization (Labs) (Taylor/Maxwell)
- CS 336: Parallel and Distributed Processing (Taylor)
- CS 365: Computer Vision (Maxwell)
- CS 441: Systems Biology II (Taylor)
2014-2015 Academic Year
Fall 2014
- CS 151: Computational Thinking (Labs) (Skrien/Taylor)
- CS 231: Data Structures and Algorithms (Labs) (Skrien/Taylor)
- CS 333: Programming Languages (Taylor)
- CS 351: Computer Graphics (Maxwell)
- CS 375: Analysis of Algorithms (Skrien)
January 2015
- CS 269/369 Computer Game Design (Maxwell)
Spring 2015
- CS 151: Computational Thinking (Labs) (Taylor/Maxwell)
- CS 232: Computer Organization (Maxwell)
- CS 251: Data Analysis and Visualization (Labs) (Taylor/Maxwell)
- CS 321: Computer Networks and Security(Siff)
- CS 451: Advanced Computer Graphics (Maxwell)
2013-2014 Academic Year
Fall 2013
- CS 151: Computational Thinking
- CS 231: Data Structures and Algorithms(lecture)
- CS 333: Programming Languages
- CS 361: Object-Oriented Design I
- CS 378: Introduction to Computational Theory
January 2014
- No CS courses
Spring 2014
- CS 151: Computational Thinking
- CS 232: Computer Organization (lab)
- CS 251: Data Analysis and Visualization
- CS 325: Web Programming
- CS 336: Parallel and Distributed Systems
- CS 461: Object-Oriented Design II
2012-2013 Academic Year
Fall 2012
- CS 151: Computational Thinking (Lab link) (Taylor/Maxwell)
- CS 231: Data Structures and Algorithms (Lab link) (Skrien/Maxwell)
- CS 333: Programming Languages (Maxwell)
- CS 341: Systems Biology I (Taylor)
- CS 375: Analysis of Algorithms (Skrien)
January 2013
Spring 2013
- CS 151: Computational Thinking (Lab link) (Skrien/Taylor)
- CS 232: Computer Organization (Lab link) (Skrien/Maxwell)
- CS 251: Data Analysis and Visualization (Lab link) (Taylor/Maxwell)
- CS 363: Robotics (Maxwell)
- CS 441: Systems Biology (Taylor)
2011-2012 Academic Year
Fall 2011
- CS 151: Computational Thinking (Lab link) (Maxwell/Eastwood)
- CS 231: Data Structures and Algorithms (Lab link) (Skrien/Eastwood)
- CS 333: Programming Languages (Eastwood)
- CS 351: Computer Graphics (Maxwell)
- CS 378: Introduction to Computational Theory (Skrien)
- CS 397: Computer Networks and Security (Siff)
January 2012
- CS283/BI283 Bioinformatics (McClellan)
- CS297 Interactive Digital Media (Maxwell)
Spring 2012
- CS 151: Computational Thinking (Lab link) (Skrien/Eastwood)
- CS 232: Computer Organization (Lab link) (Eastwood/Maxwell)
- CS 251: Data Analysis and Visualization (Maxwell)
- CS 356: Compiler Construction (Skrien)
- CS 365: Computer Vision (Eastwood)
- CS 451: Advanced Computer Graphics (Maxwell)
2010-2011 Academic Year
Fall 2010
- CS 151 Computational Thinking (Maxwell/Eastwood) (lab link)
- CS 231 Data Structures and Algorithms (Skrien/Eastwood)
- CS 333 Programming Languages (Maxwell)
- CS 361 Object-Oriented Design I (Skrien)
- CS 375 Analysis of Algorithms (Skrien)
January 2011
- CS 269J/369J Computer Game Design (Maxwell)
Spring 2011
- CS 151: Computational Thinking (Taylor/Maxwell) (Labs)
- CS 232: Computer Organization (Skrien)
- CS 251: Data Analysis and Visualization (Maxwell)
- CS 336: Parallel and Distributed Computing (Taylor)
- CS 398: Computational Photography (Eastwood)
- CS 461: Object-Oriented Design II (Skrien)
2009-2010 Academic Year
Fall 2009
- CS 151: Computational Thinking (Taylor/Skrien)
- CS 231: Data Structures and Algorithms (Eastwood/Maxwell) (labs)
- CS 298: Web Programming (Skrien)
- CS 333: Programming Languages (Maxwell)
- CS 341: Systems Biology I (Taylor)
- CS 363: Robotics (Maxwell)
January 2010
- CS 297J: Bioinformatics (McClellan)
Spring 2010
- CS 151: Computational Thinking (Taylor/Maxwell) (labs)
- CS 198: Computer Music (Hallstrom/Maxwell)
- CS 232: Computer Organization (Skrien)
- CS 251: Data Analysis and Visualization (Maxwell)
- CS 365: Computer Vision (Eastwood)
- CS 378: Theory of Computation (Skrien)
- CS 441: Systems Biology II (Taylor)
2008-2009 Academic Year
Fall 2008
- CS 151: Computational Thinking (Skrien/Taylor)
- CS 231: Data Structures and Algorithms (Skrien/Taylor)
- CS 336: Parallel and Distributed Systems (Taylor)
- CS 351: Computer Graphics (Maxwell)
- CS 375: Analysis of Algorithms (Skrien)
January 2008
- CS 269/369: Computer Game Design
Spring 2009
- CS 151: Computational Thinking (Taylor/Maxwell) (labs)
- CS 232: Computer Organization (TBA)
- CS 251: Data Analysis and Visualization (Maxwell)
- CS 398: Networks (Siff)
- CS 270/451: Advanced Graphics: 3D Video Game Design (Maxwell)
2007-2008 Academic Year
Fall 2007
- CS 151: Elementary Algorithms and Structured Programming (Russell)
- CS 231: Data Structures and Algorithms (Maxwell)
- CS 356: Compilers (Skrien)
- CS 378: Theory of Computation (Skrien)
- CS 397: Computer Vision (Maxwell)
Spring 2008
- CS 151: Computational Thinking (Maxwell)
- CS 231: Data Structures and Algorithms (Skrien)
- CS 232: Computer Organization (Skrien)
- CS 333: Programming Languages (Russell)
- CS 361: Object-Oriented Design (Skrien)
- CS 398: Cryptography (Russell)