bowie state BSU BSU
 

Course Descriptions for Master of Science in Computer Science

The following outline is for students declaring their major Fall 2006 (or after). All other COSC majors should visit their advisors with any questions.

  1. 500 Level Courses
  2. 600 Level Courses
COSC 502 Computer Organization 3 Credits
Prerequisite: Graduate status
Contemporary computer internal architecture and operation are described at various levels, beginning with a summary of digital logic design of memory, buses and processor chips. Topics include: microprogramming, machine language, addressing techniques, interrupts, operating systems, virtual memory and memory management, one-pass and two-pass assemblers, linking and loading, and advanced computer architectures.
COSC 503 Software Design & Dev I 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 504 Software Design and Development II 3 Credits
Prerequisite: COSC 503 or instructor's permission
Topics include preprocessor facilities, storage control, pointer variables, direct I/0, and recursion. Data structures, such as stacks, queues, circular lists, linked lists, trees, and graphs. Algorithms for searching, sorting, merging, hashing. System functions, such as compiling, link editing, and libraries.
COSC 514 Operating Systems I 3 Credits
Prerequisite: COSC 502 and COSC 504
Introduction to the structure of multiprogramming computer operating systems. Topics include concurrent programming and monitors, process communication and synchronization, process and disk scheduling, deadlocks, memory hierarchies, paging and segmentation. Survey of various processors, performance coprocessors, open systems, O/S security, Unix, and VMS.
COSC 516 Computer Architecture 3 Credits
Prerequisite: COSC 502
Introduction to high-speed computer architecture. Parallel architecture, memory and I/O subsystems. Principles of pipelining and vector processing, pipeline computers and vectorization methods, examples of vector processors. Structures and algorithms for array processors, SIMD and MIMD computers, interconnection networks, associative array processors. Case studies of representative high-speed processors.
COSC 517 Satellite Opr & Control 3 Credits
Prerequisite: Graduate status
This course provides students with a basic understanding of satellite operations and control. Topics to be covered include: orbits, launch vehicle and propulsion spacecraft systems, satellite communications, ground systems, earth stations, flight software and table maintenance, analysis of data.
COSC 518 Computer Graphics 3 Credits
Prerequisite: COSC 502 and COSC 504
Two-Dimensional (2D) interactive graphics. Basic clipping and scan conversion techniques, 2D homogeneous coordinate system, graphics hardware and software systems, user interfaces, graphics standards, and rendering techniques.
COSC 522 Discrete Structures 3 Credits
Prerequisite: Graduate status
This course includes a survey of those areas in mathematics that are particularly useful to computer science. Topics discussed include set theory, relations and functions, equivalence and order relations, digraph and trees, and probability concepts.
COSC 523 Logic Computability & Automata I 3 Credits
Prerequisite: COSC 522
An elementary development of propositional and predicate logics, set and Boolean algebras with a discussion of Markov algorithms, Turing machines and recursive functions. Topics include post productions, word problems and formal languages.
COSC 528 Design and Analysis of Algorithms 3 Credits
Prerequisite: COSC 504 and COSC 522
This course includes discussion of design and analysis of basic computer algorithms based on the following techniques: divide-and-conquer, greedy, dynamic programming, tree and graph traversals, backtracking, and branch-and-bound method. Applications to problems, such as sorting and searching, traveling salesman, knapsack, graph coloring, set union-and-find, matrix multiplication, and scheduling. Use of advanced data structures appropriate for different techniques and problems. Use of mathematical tools, such as big-oh notation and recurrence relations in the analysis of algorithms to NP-completeness and discussion of P=NP question.
COSC 531 Database Design 3 Credits
Prerequisite: COSC 504
Introduction to data base design and data base information management systems. Discussions of the various types of data and information models, such as hierarchical, network, relational, entity-relation, and object-oriented models. Functional dependencies and data normalization. An in-depth look into relational data base systems and query languages.
COSC 535 Information Privacy & Security 3 Credits
Prerequisite: COSC 504
Introduction to security and privacy issues associated with information systems. Technical, physical, and administrative methods of providing security. Identification and authentication. Encryption and management of encryption systems, including key protection and distribution. Cost/risk trade-offs. Privacy legislation and technical means of providing privacy.
COSC 545 Software Security 3 Credits
Prerequisite: Graduate status
This course teaches principles and practice of secure coding. It provides a sound theoretical background, as well as hands-on experiences through the examination of security resources and standard practices in a specific programming language, such as Java or C++. Programming security, operating systems security are examples of some of the topics that will be covered.
COSC 551 Formal Methods in Programming Languages 3 Credits
Prerequisite: COSC 504
Evolution of some imperative programming languages; formal methods of describing syntax; semantics; data types and variables; assignment statements; control structures; subprograms and their implementation; exception handling; logic programming languages; data abstraction.
COSC 554 Design of Embedded Systems 3 Credits
Prerequisite: COSC 502
This course presents the basic material required to design and implement embedded systems. Topics covered include single-purpose processors, general-purpose processors, peripheral control, memory use, device interfacing, state machine and concurrent process models, control systems, IC technology, and design technology.
COSC 561 Compiler Design & Construction I 3 Credits
Prerequisite: COSC 504
Design and implementation of compilers. Semantics and pragmatics as they affect the design of compilers. Topics include: lexical and syntax analysis, parsers, semantics processing, code generation, and simple code optimization.
COSC 565 Software Engineering I 3 Credits
Prerequisite: COSC 504
This course introduces the student to major topics in software engineering such as: requirement 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 573 Artificial Intelligence I 3 Credits
Prerequisite: COSC 528
This course is an introduction to artificial intelligence. Topics include knowledge acquisition and representation, heuristic search methods, logical and probabilistic reasoning, expert system architecture, and AI applications in languages such as LISP and PROLOG.
COSC 575 Object-Oriented Programming and Design Paradigm 3 Credits
Prerequisite: COSC 504
Software engineering issues as they relate to object-oriented techniques will be covered. Students will study object-oriented design methodology, and will acquire the ability to analyze a system using object-oriented techniques. Students will learn to enhance maintainability and reusability by the use of encapsulation, inheritance, polymorphism, and other object oriented concepts. Object oriented programming languages, such as Java, C++, and Smalltalk, will be compared and discussed. Advance topics such as frameworks, components, etc. will be covered.
COSC 585 Computer Communication Networks I 3 Credits
Prerequisite: COSC 504
Introduction to computer communication and layered network architectures. Encoding and modulation, compression and multiplexing, error detection and correction. Use of the Open Systems Interconnection (OSI) Reference Model as a framework. Review of layered network architecture: design of layered protocols, network topology, switching techniques. Protocols and network design from the physical layer to the application layer.
COSC 590 Selected Topics I 3 Credits
Prerequisite: Consent of instructor
Presentation of selected modern developments and advanced topics in computer science.
COSC 591 Selected Topics I 3 Credits
Prerequisite: Consent of instructor
Presentation of selected modern developments and advanced topics in computer science.
COSC 592 Selected Topics I 3 Credits
Prerequisite: Consent of instructor
Presentation of selected modern developments and advanced topics in computer science.
COSC 614 Operating Systems II 3 Credits
Prerequisite: COSC 514
Continuation of COSC 514. Advanced topics in virtual memory management, file and data base system management, operating systems security, disk performance optimization, analytic modeling, and distributed operating systems. Case studies in operating systems.
COSC 615 Performance Evaluation 3 Credits
Prerequisite: COSC 514 and COSC 516
A survey of computer systems performance issues and evaluation methodologies. Topics include workload characterization, parallelism, concepts in hardware/software, computer measurement tools (e.g., hardware and software monitors, modeling and benchmarking), system utilization and performance profiles, and systems evaluation methodology (including the analysis and optimization of CPU, memory, channels, and peripheral resources).
COSC 618 Computer Graphics II 3 Credits
Prerequisite: COSC 518 and COSC 528
Continuation of COSC 518. Topics will be chosen from three-dimensional (3D) interactive graphics, raster display system architecture, 3D homogeneous coordinate system, hidden surface elimination, modeling, shading, shadow generation, anti-aliasing, ray-tracing, fractals, animation techniques, color theory, graphics languages, and modern graphics.
COSC 623 Logic, Computability & Automata II 3 Credits
Prerequisite: COSC 523
Continuation of COSC 523. The theory of abstract mathematical machines. Structural and behavioral classification of automata; finite state automata; theory of regular sets. Pushdown automata, linear bounded automata. Finite transducers. Universal Turing machines.
COSC 631 Database Information Systems II 3 Credits
Prerequisite: COSC 531
Continuation of COSC 531. Advanced topics in data base design and information management systems. Topics include normalization and semantic modeling, view integration, recovery and concurrency, security and integrity, data base machines, distributed and heterogeneous data base management, intelligent data bases, and object-oriented systems
COSC 641 Numerical Analysis II 3 Credits
Prerequisite: COSC 541
This course is a continuation of MATH 541. The topics include numerical differentiation and integration, the solution of initial and boundary value problems for ordinary differential equations, methods of solving nonlinear systems of equations; other topics as time permits.
COSC 645 Applied Cryptography 3 Credits
Prerequisite: COSC 535
This course teaches students some of the basic paradigms and principles of modern cryptography and their applications. After mathematical preliminaries from algebra and number theory, we will explore the following topics in the field: foundations of cryptography, public key cryptography, pseudorandom generators, elliptic curve cryptography, and fundamental limits to information operations.
COSC 661 Compiler Design & Construction II 3 Credits
Prerequisite: COSC 561
Continuation of COSC 561. Advanced topics in compiler design and construction. Automated compiler tools and compiler compilers. Advanced code optimization techniques. Compilation of different computational models. Role of compilers in natural language processing.
COSC 665 Software Engineering II 3 Credits
Prerequisite: COSC 565
The course will cover software life-cycle models and different phrases of the software development process. Object-oriented techniques are applicable. Students will have a group project on developing complex software systems.
COSC 673 Artificial Intelligence II 3 Credits
Prerequisite: COSC 573
Continuation of COSC 573. Advanced topics in artificial intelligence, such as natural language understanding, computer vision, machine learning, robotics, neural networks, automatic theorem proving, and an in-depth look into the design and implementation of intelligent computer systems
COSC 675 Applied Combinatorics and Graph Theory 3 Credits
Prerequisite: COSC 522
General enumeration methods, difference equations, generating functions. Elements of graph theory, matrix representations of graphs, applications of graph theory to transport networks, matching theory and graphical algorithms.
COSC 676 Queuing Theory In Computer Science 3 Credits
Prerequisite: COSC 504 and COSC 522
The development of queueing theory and the application of that theory of discrete simulations, in general, and to computer systems, in particular. Topics include random processes, characterization of different queueing systems, the classical single-server exponential queueing system model, additional single and multiple-server queueing models, including birth-death processes and finite sources, and the assumptions and limitations of the various queueing models. The applications of queueing theory to computer systems are emphasized.
COSC 678 Modeling & Simulation 3 Credits
Prerequisite: COSC 504 and COSC 522
A study of construction of models that simulate real systems. The methodology of solution should include probability and distribution theory, statistical estimation and inference, the use of random variables, and validation procedures. A simulation language should be used for the solution of typical problems
COSC 685 Computer Communication Networks II 3 Credits
Prerequisite: COSC 514 and COSC 585
Continuation of COSC 585. Advanced topics in computer networks and their applications. Inter-networking: international gateways and datagram internets. Emphasis on the characteristics, implementation and configuration of Local Area Networks (LANs), Wide Area Networks (WANs), and Integrated Services Digital Networks (ISDNs).
COSC 687 Distributed Computer Systems 3 Credits
Prerequisite: COSC 514 and COSC 585
Introduction to the concepts and the design principles used in constructing distributed computer systems. Coverage of topics from the architectural foundations of distributed systems through networks; file servers including transaction handling; replication; and security issues, with descriptions of the design and the facilities offered in some specific systems. Areas of applications include distributed data base management, interoperable information systems, and distributed artificial intelligence.
COSC 690 Selected Topics in Computer Science 3 Credits
Prerequisite: Consent of Instructor
Presentation of advanced topics reflecting state-of-the-art developments in computer science.
COSC 691 Selected Topics in Computer Science 3 Credits
Prerequisite: Consent of Instructor
Presentation of advanced topics reflecting state-of-the-art developments in computer science.
COSC 692 Selected Topics in Computer Science 3 Credits
Prerequisite: Consent of Instructor
Presentation of advanced topics reflecting state-of-the-art developments in computer science.
COSC 696 Master's Thesis in Computer Science I 3 Credits
Prerequisite: A minimum of 30 graduate credits in COSC
A research problem in the area of computer science is chosen by the student under the supervision of a faculty advisor from the department of computer science. An advisory committee consisting of the thesis advisor and at least two other faculty members will be constituted. Research must be carried out and concluded over a period of two consecutive semesters and submitted in the form of a formal thesis with the consent of advisory committee. Thesis will be defended in an oral presentation by the student to the faculty.
COSC 697 Master's Thesis in Computer Science II 3 Credits
Prerequisite: A minimum of 27 graduate credits in COSC
A research problem in the area of computer science is chosen by the student under the supervision of a faculty advisor from the department of computer science. An advisory committee consisting of the thesis advisor and at least two other faculty members will be constituted. Research must be carried out and concluded over a period of two consecutive semesters and submitted in the form of a formal thesis with the consent of advisory committee. Thesis will be defended in an oral presentation by the student to the faculty.
COSC 698 Applied Research In Computer Science 3 Credits
Prerequisite: A minimum of 27 graduate credits in COSC
This course requires the student to perform research in computer science somewhat less in scope than a master's thesis. Such research should adequately demonstrate the student's proficiency in the subject material. The research must be applied in a semester-long project and concluded with a short seminar and a comprehensive paper.

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