Houston Baptist University Catalog
Computer Science ( COSC ) Course Descriptions
COSC 1351 INTRO TO COMPUTER PROGRAMMING
COSC 1351 Introduction to Computer Programming
Prerequisite(s): Credit for or concurrent registration in MATH 1434 or higher
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 INTERMEDI COMPUTER PROGRAMMING
COSC 1352 Intermediate Computer Programming
Prerequisite(s): (MATH 1434 or higher) 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
COSC 2351 Data Structures
Prerequisite(s): COSC 1352 and MATH 1451 or a satisfactory score on an HBU required math placement test
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
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
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 ADV DATA STRUCTURES/ALGORITHMS
COSC 2354 Advanced Data Structures and Algorithms
Prerequisite(s): COSC 2351 and MATH 2323
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
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
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
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
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 4331 INTRODUCTION TO CYBER SECURITY
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.