Skip to main content
Department of Computer Science

Fall 2019 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.

     

    Syllabus:

    Jongho Syllabus
    Online-Churchill's Syllabus

  • CS 1013 Computer Science Principles

    Description: Computing as a creative human activity, abstraction to reduce detail and focus on concepts relevant to understanding and solving problems, describing data and information to facilitate the creation of knowledge, discuss algorithms as tools for developing and expressing solutions to computational problems, use programming is a creative process that produces computational artifacts; and discuss digital devices, systems, and the networks that interconnect them.

     

    Syllabus:

    Sadiq's Syllabus

  • CS 1103 Computer Programming (Python)

    Description: Introduction to computer programming using a high-level computer language, including subprograms and arrays. Principles of problem solving, debugging, documentation, and good programming practice. Elementary methods of searching and sorting. No prior programming or computing experience needed. Previously offered as CS 2103.

     

    Syllabus:

  • 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.

     

    Syllabus:

    Albuhamood's Syllabus

  • CS 2133 Computer Science II

    Description: Recursive algorithms. Intermediate methods of searching and sorting. Mathematical analysis of space and time complexity, worst case, and average case performance. Course previously offered as CS 3333.

     

    Syllabus:

    Crick's Syllabus

  • 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.

     

    Syllabus:

    Kannan's Syllabus

  • CS 2433 C/C++ Programming

    Description: C/C++ programming language types, operators, expressions, control flow, functions, structures, pointers, arrays, UNIX interface. Basic object oriented programming using C++ and the related language syntax and functionality. Previously offered as CS 2432.

     

    Syllabus:

    Burrell's Syllabus
    Jain's Syllabus

  • 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.

     

    Syllabus:

    Bhowmik's Syllabus
    Park's Syllabus

  • CS 3363 Organization of Programming Languages

    Description: Programming language constructs. Run time behavior of programs. Language definition structure. Control structures and data flow programming paradigms. Previously offered as CS 4363.

     

    Syllabus:

    Burrell's Syllabus

  • CS 3443 Computer Systems

    Description: Functional and register level description of computer systems, computer structures, addressing techniques, macros, linkage, input-output operations. Introduction to file processing operations and auxiliary storage devices. Programming assignments are implemented in assembly language.

     

  • 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.

     

    Syllabus:

    Thieu's Syllabus

  • 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.

     

    Syllabus:

    Dai's Syllabus

  • CS 3653 Discrete Mathematics for Computer Science

    Description: Theory and applications of discrete mathematical models fundamental to analysis of problems in computer science. Set theory, formal logic and proof techniques, relations and functions, combinatorics and probability, undirected and directed graphs, Boolean algebra, switching logic.

     

  • CS 4153 Mobile Applications Development

    Description: The history of mobile apps and their implication on computing in general. Survey of the various platforms and approaches used for mobile apps. Examine the differences between "conventional" programs and mobile apps. Learn tools and techniques to develop mobile apps, and demonstrate proficiency through development assignments.

     

    Syllabus:

    Goutam's Syllabus

  • CS 4243 Introduction to Computer Security

    Description: Introductory course to computer security. Covers a broad range of basic topics in security, including cryptography, computer security, and network security. May not be used for degree credit with CS 5243.

     

    Syllabus:

    Thomas' Syllabus

  • CS 4273 Software Engineering

    Description: Fundamental characteristics of the software life cycle. Tools, techniques, and management controls for development and maintenance of large software systems. Software metrics and models. Human factors and experimental design. Same course as ECEN 4273.

     

    Syllabus:

    Cecil's Syllabus

  • 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.

     

    Syllabus:

    Joshi's Syllabus

  • CS 4513a Numerical Analysis

    Description: Machine computing, algorithms, and analysis of errors applied to interpolation and approximation of functions solving equations and systems of equations; discrete variable methods for integrals and differential equations. Same course as MATH 4513. 

     

    Syllabus:

    Zhang's Syllabus

  • CS 4783 Machine Learning

    Description: A probabilistic, statistical approach to automated pattern discovery applied to large datasets. Constructing computational models with this information and assessing their behavior and reliability. Representing data and devising tools for discovering these models. Class focuses on the development and analysis of learning algorithms as well as the mathematical formulations underlying statistical processing. May not be used for degree credit with CS 5783.

     

    Syllabus:

    Crick's Syllabus

  • CS 4793a 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.

     

    Syllabus:

    Douglas' Syllabus

  • CS 4883 Social Issues in Computing

    Description: The history and evolution of computing systems, providing the background for the analysis of the social impact of computers. The social implications of computer use and or misuse with emphasis on the effects on the individual, society, and other human institutions. Social responsibilities of people involved in using or applying computers.

     

    Syllabus:

    Bhowmik's Syllabus

  • CS 5313a Formal Language Theory

    Description: Formal language theory applied to procedure oriented languages. Application of finite state algorithms to lexical analysis. Chomsky hierarchy of languages. Generation, recognition, and closure properties of languages.

     

    Syllabus:

    Dai's Syllabus

  • CS 5413 Data Structures and Algorithm Analysis II

    Description: Data structures and their application in recursive and iterative algorithms. Static and dynamic data structure representations and processing algorithms. Dynamic and virtual storage management.

     

    Syllabus:

    Park's Syllabus

  • CS 5423 Principles of Database Systems

    Description: An overview of database management systems, entity-relationship model, relational model, structural query language, relational algebra, functional dependencies, relational database design with normalization theorems, query processing, fault recovery, concurrent control, web-based database systems. Introduction to NoSQL databases, querying NoSQL databases.

     

    Syllabus:

    Akbas's Syllabus

  • CS 5683 Machine Learning

    Description: A probabilistic, statistical approach to automated pattern discovery applied to large datasets. Constructing computational models with this information and assessing their behavior and reliability. Representing data and devising tools for discovering these models. Class focuses on the development and analysis of learning algorithms as well as the mathematical formulations underlying statistical processing. Same course as CS 4783.

     

    Syllabus:

    Crick's Syllabus

Back To Top
MENUCLOSE