Skip to main content
Department of Computer Science

Spring 2021 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.



    Seol's Syllabus
    Eldow's Syllabus

    Seol's Online Syllabus

  • CS 1103 Computer Programming (A)

    Description: Introduction to Python Programming language, Introduction to computer science using a block-structured high-level computer language, including subprograms, arrays, and records. Principles of problem solving, debugging, documentation, and good programming practice.



    Eldow's Syllabus

    Abilash's Syllabus

    Sadiq's 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.



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



    Abilash's Syllabus

    Shamsuddin'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.



    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.



    Jain's Syllabus
    Online- Jain's Syllabus

    Sadiq'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.



    Dai's Info Syllabus

    Dai's Outline

    Joshi' 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.



    Online Bhowmik'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.



    Park's Syllabus

  • 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 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. May not be used for degree credit with CS4153/CS5153.



    Eldow's Online 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.


  • CS 4433 Introduction to Database Systems

    Description: As the  rst introductory course for databases, CS4433 studies the fundamentals of relational database management systems (RDBMS). Materials include, but are not limited to, the ER (Entity-Relationship) model and its mapping to the relational data model, the algebraic language in the relational data model and its relationship to the commercial relational query language: SQL, database design that conforms to di erent normal forms, database applications, database indexing, transaction management, recovery and other advanced topics. Furthermore, students will participate in a semester-long project and build a web-based database system (e.g., an online bookstore) starting with a customer speci cation. In summary, this course is about the principles of designing and developing applications using relational database systems.



    Esra Akbas's Syllabus

  • CS 4623/5623 Introduction To Cyber Physcial Systems

    Description: This course will introduce students to principles and technologies dealing with cyber physical systems. Topics covered will include design of cyber physical systems including the role of Virtual Reality (VR) based simulation environments approaches. Students will also be exposed to Virtual Reality technologies and Next Generation Internet frameworks to support the adoption of Cyber Physical methodologies. The role of Information modeling techniques to support the design of collaborative methodologies for CPS contexts will also be addressed.



    Cecil's Syllabus

  • CS 4743-5743 Combined - Immersive Comupting

    Description: Survey the history, state-of-the-art, and future of extended reality (XR), a.k.a VAMR (virtual, augmented, and mixed realities), a.k.a. immersive computing. Learn to use appropriate tools and techniques to develop for a variety of target platforms. Examine the human physiological factors that affect the design and development of XR systems. Investigate the relationship between XR and IoT (Internet-of-Things). Learn about the construction of virtual environments and tracking between real and virtual objects. Study the applications of XR to solve real-world problems.


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



    Bhowmik's Syllabus

  • CS 5113 Computer Organization and Architecture

    Description: The objective of this course is to study computer architecture by examining architectural concepts with consideration of use and performance. This course covers a number of issues involved in the design and utilization of high per- formance computing systems. This includes: Instruction Set Architecture, Performance Evaluation, Pipeline Microprocessor, Cache and Memory, Multiprocessor, Interconnection Network



    Park's Syllabus

  • CS 5123 Cloud Computing and Distributed Systems

    Description:The course gives broad ideas and popular methodologies in cloud computing and distributed systems. The course mainly aims to use distributed computing frameworks like Hadoop MapReduce and Apache Spark for complex data-intensive problems like big data processing, web search, and machine learning. Course lectures, assignments and project will be designed to help students to understand the basics of distributed computing frameworks, some data science concepts, cloud tools and services, and trends in the cloud like Serverless, Edge, and Micro-services.


  • 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



    Sathyanarayanan Aakur's Syllabus

  • CS 5433 Big Data Management

    Description: Data storage and processing for big data, Map-Reduce model for big data processing within the Hadoop software framework, big data warehouse for summarization, query and analysis using Hive, Data munging and transformation using Pig; Streaming data using Flume; Transferring structured data using Sqoop; Loading, Querying and transforming data using HBase; Setting up distributed services using ZooKeeper; Data Processing using Apache Spark; Writing Data Pipeline jobs for Hadoop; Machine learning in Spark and R.



    Thomas' Syllabus

Back To Top