Spring 2022 Syllabi
- CS 1003 Computer Proficiency
Description: For students with minimal personal computer skills. Use of Internet and productivity software such as word processing, spreadsheets, databases, and presentation software. The ability to log on to a personal computer, access the OSU network, and access OSU Web sites is assumed. Previously offered as CS 1002.
- CS 1113
Computer Science I (A)
Description: Introduction to computer science using a block-structured high-level computer language, including subprograms, arrays, recursion, records, and abstract data types. Principles of problem solving, debugging, documentation, and good programming practice. Elementary methods of sorting and searching. Use of operating system commands and utilities. Previously offered as CS 2113.
- CS 2133 Computer Science II
Description: This course continues the Java-based introduction to basic computer science concepts begun in Computer Science I. Essentially, this course covers the use of object-oriented programming to design and implement software solutions. Students will learn and understand how to design large programs to make them readable, maintainable, elegant, and efficient. In addition, students will also learn to analyze the program and predicts its efficiency. Java is the language used; it is an object-oriented programming language that was designed for developing large systems from reusable components. Prerequisites: CS 1113 - Computer Science I.
- CS 2351 Unix Programming
Description: The UNIX programming system. The programming environment. The UNIX file system and the shell. Use of pipes and filters. Course previously offered as CS 3451.
- CS 2890 (Honors) Programming Intelligent Robots
Description: Programming Intelligent Robots is an introduction to fundamental topics in autonomous robot control. This course focuses on the development of “brains” for robots. That is, given a machine with sensing, actuation, and computation, how do we develop programs that allow the machine to function autonomously? This class will cover both specific problems and algorithms related to intelligent robots, as well as more general programming paradigms and languages that can be used in a wide variety of application contexts.
- CS 3353 Data Structures and Algorithm Analysis I
Description: Storage, structures, data and information structures, list processing, trees and tree processing, graphs and graph processing, searching, and sorting. Previously offered as CS 4343 and CS 4344.
- CS 3513 Numerical Methods for Digital Computers
Description: Errors, floating point numbers and operations, interpolation and approximation, solution of nonlinear equations and linear systems, condition and stability, acceleration methods, numerical differentiation and integration. Course previously offered as CS 3223.
- CS 3613 Theoretical Foundations of Computing
Description: Introduction to the classical theory of computer science. Sequential machines and their applications to devices, processes, and programming. Models of computation: finite-state automata, push-down automata, Turing machines. The role of non-determinism. Limits of digital computation. Computability and unsolvability. The Church-Turing Thesis.
- CS 4323 Design and Implementation of Operating Systems I
Description: Process activation and process context block. Batch, multi-programmed, and timeshared operating system. Process management, memory management, and synchronization primitives. Deadlock prevention, avoidance, and detection.
- CS 4793 Artificial Intelligence I
Description: Broad coverage of core artificial intelligence (AI) topics, including search-oriented problem solving, knowledge representation, logical inference, machine learning, history, philosophy, and ethics of AI.
- CS 5323
Principles of Database Systems
Description: This course look into the important problems in operating system design and implementation.The operating system provides an established, convenient, and efficient interface between user programs and the bare hardware of the computer on which they run. The discussion will cover the trade-offs that can be made between performance and functionality during the design and implementation of an operating system. Particular emphasis will be given to three major OS subsystems: process management(processes, threads, CPU scheduling, synchronization, and deadlock), memory management(segmentation, paging, swapping), and file systems; and on operating system support for distributed systems. Prerequisite: CS 4323 or equivalent and Knowledge of programming
- CS 5723
Artificial Intelligence I
Description: Broad coverage of core artificial intelligence (AI) topics, including search-oriented problem solving, knowledge representation, logical inference, AI languages, history and philosophy of AI.