Houston Baptist 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
    Corequisite(s): None

    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) and COSC 1351
    Corequisite(s): None

    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 HBU 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 2352

    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
    Corequisite(s): None

    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 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
    Corequisite(s): None

    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 2323

    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
    Corequisite(s): None
    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 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
    Corequisite(s): None
    Design, construction, and maintenance of large software systems. Project planning, requirements analysis, software design methodologies, software implementation and testing, maintenance.