Houston Christian University Catalog

Computer Science (COSC) Course Descriptions

  • COSC 1351 Introduction to Computer Programming

    Prerequisite(s): (Credit for or concurrent registration in MATH 1434 or higher) or credit for BUSA 2301

    An overview of the field of computing, applications, algorithms, data structures, rudimentary programming, machine architecture, digital logic, history, impact, and current trends. Introductory programming using an objects-first approach. Problem analysis and solution. Introductory modeling and abstraction. Documentation, good programming practices. Data and control structures as needed.

  • COSC 1352 Intermediate Computer Programming

    Prerequisite(s): ((MATH 1434 or higher) or BUSA 2301)) and COSC 1351

    An introduction to computer programming using an objects first approach; problem solving; an overview of the field of computing. Analysis, design and implementation of programs. Application structures, algorithm development, event-driven programming, graphical user interfaces, exception handling, recursion.

  • COSC 2351 Data Structures

    Prerequisite(s): COSC 1352 and ((MATH 1451 or a satisfactory score on an HCU required math placement exam) or BUSA 2301)

    The definition, representation, and manipulation of basic data structures such as arrays, stacks, queues, trees, and graphs. Practical applications of these structures will be emphasized.

  • COSC 2352 Systems Programming

    Prerequisite(s): COSC 1352 and MATH 1451

    An introduction to systems programming within the context of C/C++ and Linux; topics include linking, writing scripts, performing system calls, managing memory, and using concurrency.

  • COSC 2353 Operating Systems

    Prerequisite(s): COSC 1352

    An introduction to operating systems concepts. Topics include process management, storage management, device management, performance, security, and case studies of modern operating systems.

  • COSC 2354 Advanced Data Structures and Algorithms

    Prerequisite(s): COSC 2351

    This course emphasizes the study of high performance specialized data structures (self-balancing trees, dynamic graphs, binary heaps) and their implementations using the Java language. Students in this course are also introduced to the basic object oriented concepts of abstractions and generics to develop abstract advanced searching and sorting algorithms as well as abstract data structures.

  • COSC 2355 Database Management Systems

    Prerequisite(s): COSC 1352

    Database concepts, models and applications, database management systems, implementation of a practical database.

  • COSC 2454 Advanced Data Structures, Algorithms, and Programming

    Prerequisite(s): COSC 2351

    This course emphasizes the study of high-performance specialized data structures (self-balancing trees, dynamic graphs, binary heaps) and their implementations using the Java language. Students in this course are also introduced to the basic object-oriented concepts of abstractions and generics to develop abstract advanced searching and sorting algorithms as well as abstract data structures. This course also includes a laboratory component that reinforces fundamental programming concepts.

  • COSC 3341 Computer Architecture

    Prerequisite(s): COSC 2351

    Architecture and organization of computer systems. Topics include the processor, control unit and microprogramming, computer arithmetic, memory hierarchy and memory management, input/output, instruction sets.

  • COSC 3342 Computer Networks

    Prerequisite(s): COSC 2353

    An overview of computer networks. Topics include network topologies, layers, local area networks, and performance measurement and analysis.

  • COSC 3352 Theory of Computing

    Prerequisite(s): COSC 2351 and MATH 3311

    An overview of formal languages, the abstract models of computing capable of recognizing those languages, and the grammars used to generate them.

  • COSC 3353 Programming Languages

    Prerequisite(s): COSC 2354

    In this project-based course, students will create multi-user Web applications involving application development for front-end and back-end programming in a client-server communications technology. The course will consist of advanced implementations of both markup as well as scripting languages. The students will also learn how to manage data and use available database management systems effective for back-end service side Web development concepts.

  • COSC 3354 Web Application Programming

    Prerequisite(s): COSC 2355 or MIS 3330

    In this project-based course, students will create multi-user Web applications involving application development for front-end and back-end programming in a client-server communications technology. Topics covered may include advanced implementations of both markup as well as scripting languages, data management, and effective uses of database management systems for back-end service side Web development concepts.

  • COSC 4331 Introduction to Cyber Security

    Prerequisite(s): COSC 2353 and permission of instructor

    overview of cyber security; provides students with practical cyber security experience based on theoretical foundations. Topics include: computer network defense, computer network attack, wireless security.

  • COSC 4352 Software Design and Engineering

    Prerequisite(s): COSC 2353

    Design, construction, and maintenance of large software systems. Project planning, requirements analysis, software design methodologies, software implementation and testing, maintenance.

  • COSC 4381 Data Analytics

    Prerequisite(s): COSC 2354 or COSC 2454

    Introduction to data analytics and key tools and concepts from the functional, technical, and implementation perspectives of using data analytics to solve real world challenges.