bowie state BSU BSU
 

Courses in B.S. in Computer Science

  1. Level 100 Courses
  2. Level 200 Courses
  3. Level 300 Courses
  4. Level 400 Courses
COSC 109 Gaming I (Periodically) 3 Credits
This course will introduce students to the process of good game design. Students will work in teams in an iterative process to design, implement, and evaluate a 2D game. Topics will include idea generation, storyboarding, and human computer interaction. The course will include readings, play testing, and each team will present their completed game in a game showcase at the end of the course. (Note: This course does not qualify for computer science or computer technology major credit.)
COSC 110 Computer Literacy and Applications (Fall, Spring) 3 Credits
This course is an introduction to fundamental concepts and applications of computing, designed for students with no prior training in computer use. Topics include: summary of personal and business uses of computers, from micros to mainframes; use of application software for word processing, spreadsheets and data base management; survey of computer and communications systems' hardware components; development and use of system and application software; characteristics of high-level programming languages; accessing the Internet; and social issues. This course may be used to satisfy the General Education Requirement in the Technology category. (Note: This course does not qualify for computer science or computer technology major credit)
COSC 111 Computing Principles & Technology (Fall, Spring) 3 Credits
This course provides a proficient foundation in general computer science and computer technology concepts. It includes a survey of selected computer topics to provide fluency in information technology as well as emerging and societal issues surrounding information technology. Students are introduced to computer hardware, programming, web page development, software applications and networking models. This course may be used to satisfy the General Education Requirement in the Technology category.
COSC 112 Computer Science I (Fall, Spring) 4 Credits
Prerequisite: None.
This course is a study of the formal syntax and semantics of a programming language. Topics include expressions, assignments, declarations, control structures, arrays, data abstractions, subprograms, user interfaces, error handling, end of file handling, and string handling. Aspects of Software Engineering include top down design, structured programming, and style in programming conducted in a block structured language, such as Pascal, C, or C++. Ethical and social issues include information privacy, data reliability, data security, including wiretapping and encryption and ergonomics. This course may be used to satisfy the General Education Requirement in the Technology category.
COSC 113 Computer Science II (Fall, Spring) 4 Credits
Prerequisite: COSC 112. Prerequisite or taken concurrently: MATH 141 or MATH 150.
This course explores the design and analysis of large scale systems of programs. Topics include testing, debugging, documentation, recursion, dynamic storage allocation, LIFO stacks, FIFO queues, trees, linked lists, routed I/O to multiple files, protecting software and other intellectual property, computer crimes, and constitutional and related issues. This course may be used to satisfy the General Education Requirement in the Technology category.
COSC 190 Intermediate Computer Programming (Fall, Spring) 4 Credits
Prerequisite: At least one prior computer-programming course using a general purpose language or consent of the instructor. Prerequisite or taken concurrently: MATH 141 or MATH 150.
This course presents and implements the formal syntax and semantics of a programming language. Topics include basic operations, control structures, arrays, data abstraction, subprograms, error handling, disk files, recursions, classes, introductory object-oriented programming, pointers, testing, and debugging. Structured programming is stressed. This course covers the content of two courses, COSC 112 and COSC 113, at an accelerated rate in one semester. A block structured language such as C, C++, or Java is used.
COSC 208 Discrete Structures (Fall, Spring) 3 Credits
Prerequisite: COSC 113 or COSC 190 and either MATH 141 or MATH 150.
This course is a study of mathematical topics needed for a major in computer science as follows: sets, relations, logic, graphs, mappings, functions, recursion, finite state machines, formal proof techniques, combinatorics, and recurrence relations.
COSC 209 Gaming II (Periodically) 3 Credits
Prerequisite: COSC 109 or COSC 112.
This course focuses on designing simple playable games, each exploring different aspects of game design such as rule design, game balance, multiplayer strategy, complexity, randomness, narrative, psychoology, emergent behavior and aspects of physical game bit and interface design. The course will cover game design concepts through readings, presentations, play testing, and emphasize hands on development of games.
COSC 212 Assembly Language Programming (Periodically) 3 Credits
Prerequisite: COSC 113 or COSC 190.
This course is a study of computer structure and machine language, assembly language, addressing techniques, macros, file I/O, program segmentation and linkage, data and instruction representation, assembler construction, and interpretive routines.
COSC 214 Data Struct & Algorithms (Fall, Spring) 4 Credits
Prerequisite: COSC 113 or COSC 190.
This course explores the definitions and implementations of basic data structures such as stacks, queues, linked lists, binary trees, etc.; internal searching and sorting algorithms; and garbage collection algorithms. Design of sort and search algorithms and introductory analysis associated with the basic data structures, as well as recursive algorithms, are discussed.
COSC 254 Computer Organization (Fall) 4 Credits
Prerequisite: COSC 113 or COSC 190.
This course explores the relationships between control units, input-output devices, processors, and storage units. Topics include logic circuits design, coding (e.g., BCD, ASCII), number representation and arithmetic instruction set, register transfer operations, central processor organization, finite state machines, memory organization, I/O, and microprocessors.
COSC 309 Gaming III and Animation (Periodically) 3 Credits
Prerequisite: COSC 209.
This course introduces techniques used to create computer animation. Topics include principles of animation, motion planning, and generation, key framing, kinematics, inverse kinematics and motion technology. Students will develop a game using Computer Graphics Library.
COSC 330 Systems Programming I (Fall, Spring) 3 Credits
Prerequisite: COSC 113 or COSC 190.
An introduction to UNIX systems programming. Topics include: UNIX shell programming; UNIX kernel and utilities; regular expressions; UNIX commands; development of shell programs to solve system problems; introduction to system calls.
COSC 345 Foundations of Computer and Network Security (Fall only) 3 Credits
Prerequisite or taken concurrently: COSC 485 or Consent of Instructor.
This course will introduce students to the challenges and vulnerabilities in securing a computer networking system. Topics include the in-depth study of network border security, such as firewalls, intrusion detection systems, virtual private networking, penetration testing and network security architecture. This course is designed to develop the fundamental skills needed to analyze the internal and external security threats against a network, and to develop security policies that will protect an organization's information. Students will learn how to evaluate network and Internet security issues and design, and how to implement successful network security policies and strategies. In addition, they will learn how to expose system and network vulnerabilities and defend against them.
COSC 350 Programming Languages (Fall only) 3 Credits
Prerequisite: COSC 214.
The comparative study of the fundamentals of several programming languages, including ALGOL, APL, FORTRAN, C, ADA, LISP, PL/1, etc, through their grammar and control structures is provided. Topics include BNF grammar, information binding, recursion and data structures.
COSC 352 Principles & Methods of Intrusion Detection & Prevention (Fall only) 3 Credits
Prerequisite: COSC 485 or Consent of Instructor.
Concepts of intrusion detection, anomaly detection based on machine learning, signature-based detection using pattern matching, automated response to attacks using planning approaches, tracing intruders, predicting behavior of hackers to protect information and infrastructure assets, and security policy languages. Topics will also include: security standards; issues in network security including border protection (firewalls), issues in system security, including user authentication, malicious logic, such as viruses; digital privacy; potential personnel issues and concepts in security planning and auditing.
COSC 354 Computer Architecture (Spring) 3 Credits
Prerequisite: COSC 254.
This course explores the relationships between control units, input-output devices, processors, and storage units. Topics include logic circuits design, coding (e.g., BCD, ASCII), number representation and arithmetic instruction set, register transfer operations, central processor organization, finite state machines, memory organization, I/O, and microprocessors.
COSC 370 Computer Ethics, Social & Legal Issues (Spring only) 3 Credits
Prerequisite: COSC 214, and ENGL 361 or ENGL 362.
This course will examine the major ethical issues surrounding the use of computers and the responsibilities of those who work with computers. Readings will be assigned and will include, but will not be limited to, technical issues in computer science (software development), privacy, security, liability, the digital divide, hacking, intellectual property rights, viruses, proprietary software, worms and other animals, societal awareness, and many of the laws that relate to the preceding list of topics.
COSC 374 Object-Oriented Design (Fall only) 3 Credits
Prerequisite: COSC 214.
This course covers the design of object-oriented programs. Specifically, students will study software engineering topics, such as life-cycle management, the use of CASE modeling tools, such as UML diagrams, in requirements specification and system organization, and object-oriented concepts, such as encapsulation, inheritance, and polymorphism. Students will acquire the ability to analyze a problem using object-oriented techniques.
COSC 375 Object Orient Design & Development (Periodically) 3 Credits
Prerequisite: COSC 214.
This course covers the design and development of object-oriented programs. Specifically, students will study object-oriented design methods, classes, inheritance, polymorphism, and software engineering issues. Students will acquire the ability to analyze a problem using object-oriented techniques. They also will learn a widely used object-oriented language such as JAVA, using a Unix platform.
COSC 402 Software and Operating System Security (Spring only) 3 Credits
Prerequisite: COSC 330 or Consent of Instructor
This course will examine security principles and practices important to operating systems and programming. Topics include: OS security architecture; memory security; authentication, including account and password protection mechanisms; assessing OS vulnerabilities; programming security and attacks such as buffer overflow attacks and writing secure code; application interaction; module control; auditing host security, including operational logs; malicious logic including viruses and virus protection; and security applications.
COSC 404 Software Design and Development (Fall only) 3 Credits
Prerequisite: Graduate Status.
Fundamental techniques of computer program development using a high-level language. Topics include assignment, expression, declarations, control statements, arrays, structures, functions and subroutines, block structure, string handling, and programming methodology, including top-down design, structured programming, programming style, and debugging.
COSC 409 Gaming IV (Periodically) 3 Credits
Prerequisite: COSC 309.
This course will provide an introduction to current and future technologies for electronic game design and programming. Topics will include graphics game engines, motion generation, behavioral control for autonomous characters, interaction structure, and social and interface issues of multi-user play. The course will emphasize hands on development of games.
COSC 414 Operating Systems (Spring only) 3 Credits
Prerequisite: COSC 214 and COSC 330.
This course is a study of batch systems, interactive systems, spooling systems, multiprogramming systems, I/O processors and techniques, intra-system communication, deadlocks, indefinite postponement, microprogramming, parallelism, and pipelining. Dynamic procedure activation, system structure, memory management, process management, and recovery procedures, and case studies of recent operating systems also will be covered.
COSC 418 Principles of Computer Graphics (Fall only) 3 Credits
Prerequisite: COSC 214 and MATH 228.
This course introduces students to basic concepts and essential principles of computer graphics from a programming perspective. It includes topics such as geometric modeling, lighting/shading, subdivision of curves and surfaces, mesh parameterization, texture mapping, morphing, and animation. Students will use a standard computer graphics library and develop simple algorithms of computer graphics to reinforce the concepts.
COSC 420 Database Management (Fall only) 3 Credits
Prerequisite: COSC 214.
This course is an introduction to concepts, design objectives, tools, and principles database management system software. Descriptors, structures, database system architectures, entities, relationships, and data models. The relational, network and hierarchical database models, normal forms, and canonical data structures will be studied as a basis for logical organization. Relational algebra and calculus, introduction to concurrency, and transaction management are studied.
COSC 423 Automata & Computation Theory (Periodically) 3 Credits
Prerequisite: COSC 208.
This course is a study of finite-state machines, push-down automata, and Turing machines. The Resolution Principle as applied to propositional first-order logic, and aspects of mathematical logic with emphasis on applications to computing machines are discussed.
COSC 428 Design And Analysis of Algorithms (Spring only) 3 Credits
Prerequisite: COSC 214.
This course will include the design and analysis of algorithms. Algorithms that manipulate data structures such as lists, stacks, queues, trees, and graphs are discussed in terms of efficiency and existence. Algorithms for data compression, memory management, and advanced hashing techniques will be studied. Topics also include balancing algorithms, divide-and-conquer algorithms, dynamic programming, the greedy approach, backtracking, branch-and-bound, advanced search/sort techniques, the P=NP problem, parallel algorithms, and newly promoted algorithms will be studied and researched.
COSC 430 System Programming II (Spring only) 3 Credits
Prerequisite: COSC 330.
This course is a study of Basic Systems software (assemblers, loaders and linkers, macro processors, etc.). Basic constructs of the C/C++ language are reviewed with special emphasis on developing software using C/C++ in UNIX environment. Also covered are UNIX file access primitives: open, creat, close, read, write, copyfile, lseek, fentl; files in multi-user environment: Call umask, commands access, chmod, chown, system calls link, unlink, rename, stat, fstat; directories, file systems and special files; process: fork, exec, wait, waitpid; process attributes; signals and signal handling; inter-process communication techniques; the terminal; sockets; I/O library; and library routines.
COSC 445 Fundamentals of Cryptography and Applications (Fall only) 3 Credits
Prerequisite: COSC 208.
This Course will examine the details of how some of the typical security protection measures work. Topics include: Certificate Authorities (CA), Public Key Infrastructure, Rivest-Shamir-Adleman (RSA) architectures, Data Encryption Standard, Pretty Good Privacy, steganography, and security standards. In addition, key cryptologic terms, concepts, and principles will be defined and explained as well as authentication, access control, non-repudiation, data integrity, and confidentiality issues.
COSC 450 Case Studies in Computer Security (Spring only) 3 Credits
Prerequisite: COSC 345 or CTEC 345
This course is an in-depth study of the practical aspects of computer security, including the study of common computer security vulnerabilities in a laboratory setting.
COSC 454 Embedded System Design (Spring only) 3 Credits
Prerequisite: COSC 354
This course explores the design of custom circuitry and single-purpose processors. The emphasis is on hardware/software codesign, using high-level tools to implement circuitry and program microprocessors. Topics covered are: digital circuitry, software development for general-purpose processors, single-purpose processors, memory systems, communication interfaces, finite state machines, concurrent processing models, control theory, integrated circuitry, synthesis levels and verification.
COSC 461 Compilers (Spring only) 3 Credits
Prerequisite: COSC 214.
Grammars, lexical analyses, parsing algorithms, intermediate languages, storage assignment, code generation, global and peep-hole optimization, push-down stacks and run-time organizations are discussed. A significant programming project is required.
COSC 473 Artificial Intelligence (Fall only) 3 Credits
Prerequisite: COSC 214.
This course is an introduction to basic concepts and techniques of artificial intelligence. Topics include: knowledge representation, search strategies, fuzzy and probabilistic reasoning, and theorem proving. Applications of AI languages and the design and construction of Expert Systems are discussed.
COSC 474 Machine Learning and Discover (Spring only) 3 Credits
Prerequisite: COSC 214.
Artificial intelligence techniques for knowledge acquisition by computers. Fundamental problems in machine learning and discovery. Systems that learn from examples, analogies, and solved problems. Systems that discover numerical laws and qualitative relationships. Projects centering on implementation and evaluation.
COSC 475 Software Engineering (Fall only) 3 Credits
Prerequisite: COSC 214.
This course introduces the student to major topics in software engineering such as: requirements specification, analysis and design, testing, project management, and implementation. Additional topics such as software life cycle models, the Unified Modeling Language (UML), agile software development techniques, configuration management, change control, and project documentation will be discussed.
COSC 477 Virtual Reality and its Principles (Spring only) 3 Credits
Prerequisite: COSC 113 or concurrent registration or consent of Instructor.
This course introduces students to Virtual Reality (VR) hardware and software. it provides an opportunity for them to apply this knowledge to applications for education and games. This course applies cutting-edge virtual reality technology currently available in academia and industry. Students will design, model, and script the VR environment by developing a complete VR application as a group project.
COSC 480 Senior Capstone (Spring only) 3 Credits
Prerequisite: COSC 350, COSC 354, COSC 414.
This is a capstone course which integrates the material covered in core courses, namely Data Structures and Algorithms, Computer Organization, Systems Programming, Programming Languages, Computer Architecture and Operating Systems. The emphasis is on solving problems which require concepts from more than one area. Selected problems integrating the topics covered in these courses will be formulated, discussed, and solved.
COSC 485 Data Communications and Networks (Fall only) 3 Credits
Prerequisite: COSC 214 and COSC 254.
This course explores the fundamentals of data communication and computer networking: common carrier implications, tariffs, exchanges, concentrators, multiplexors, and buffering; circuit, message, and packet switching; network architectures and protocols; protocol standards, modeling, and analysis; cost and design; software considerations are emphasized.
COSC 490, 491, 492 Selected Topics in Computer Science (Fall, Spring) 3 Credits
Prerequisite: Consent of Instructor.
(Note: COSC 492 may be offered for Cooperative Education credits. Check class schedule or contact the computer science department for more information). These courses are presentations of selected modern developments, advanced topics, and problem solving in computer science.
COSC 495 Senior Seminar In Computer Science (Fall only) 3 Credits
Prerequisite: ENGL 361 or ENGL 362 and a minimum of one 400-level COSC course.
Students research topics of interest including issues on professional ethics and responsibilities (ACM Code of Ethics and Computer Ethics). Written reports and presentations of complete projects are required.

Computer Science Building Suite 207
14000 Jericho Park Road, Bowie, MD 20715
Phone: (301)860-3960 Fax: (301)860-3979

Copyright © 2014 - 2015 All Rights Reserved