Computer Science

Classes

CSCI-460 : Wireless Communications

The purpose of the course is to provide a comprehensive and up-to-date review of wireless communication for engineering professionals, instructors and students. The course covers wireless transmission and reception principles, electromagnetic propagation, antenna characteristics, and wireless network access methods.

Credits

Credits 3

CSCI-487 : Telecommunications

In this course, students learn about radio frequencies, antenna function, satellite applications, cellular transmissions, wireless local area networks and design.

Credits

Credits 3

CSCI-500 : Socially Relevant Computing

This course emphasizes the use of computation for solving problems of personal and societal interest to students. Courses in this new framework help students identify and model tasks, and design and implement computational solutions that show deep understanding of their embedding in the world.

Credits

Credits 2

CSCI-510 : Computer Architecture

his course aims to build on a prior knowledge of computer organization by exploring more advanced concepts related to the design of computer systems and components. Topics include processor design, instruction set design, and addressing; control structures and microprogramming; memory management, caches, and memory hierarchies; and interrupts and I/O structures.

Credits

Credits 3

CSCI-532 : Advanced Operations Research

This course will acquaint students with the formulation, solution, and implementation of operations research models for analyzing complex systems in industry or government, also familiarizing students with special techniques of the field such as linear programming and network analysis. Topics include Simplex Method, Duality Theory, and Network Analysis.

Credits

Credits 3

CSCI-540 : Object-Oriented Development

This course will provide a fundamental understanding of the object-oriented paradigm, and how it is used in analysis, requirement specification, design, and programming. Emphasis is on object-oriented design. Covers different specification techniques with a focus on the unified modeling language. Object-oriented databases, object-oriented user interfaces and object-oriented business processes, as well as standards in object orientation will be introduced.

Credits

Credits 3

CSCI-548 : Data Communications I

Includes data communications media, the ISO network model, network systems elements, local and large-scale networks, and line protocols. Students will monitor performance of local area networks using appropriate hardware and will simulate some of the problems of network noise, excess traffic, performance of bridges and gateways, etc. in software. Requires the completion of a group or individual project involving the design, development and demonstration of a communication system and its protocols.

Credits

Credits 3

CSCI-549 : Data Communications II

This course is a continuation of Data Communications I. It introduces further networking topics by discussing wireless networking, and the components of network management - fault management, performance, configuration, security and accounting.

Credits

Credits 3

CSCI-550 : Network Modeling and Analysis

This course presents various topics related to the design, modeling, and analysis of telecommunication networks, including queuing models, loss systems, overflow systems, simulations, and routing strategies. Emphasis will be placed on exact and approximate methods for measuring the performance of such networks. Upon completion of this course, students will be able to apply modeling techniques to telecommunication networks, based on specific characteristics, and measure the performance of each using both exact and approximate methods.

Credits

Credits 3

CSCI-551 : Advanced Software Engineering I

This course aims to develop the broad understanding of the discipline of software engineering (gained in the earlier Software Engineering course) by considering the wider systems engineering context in which software plays a role. It aims to examine the concepts and techniques associated with a number of advanced and industrially relevant topics, relating to both the product and processes of software engineering.

Credits

Credits 3

CSCI-552 : Advanced Software Engineering II

This course is a continuation of the course CSCI-551 (Software Engineering I). The emphasis of the course is on software engineering. Topics covered include verification, metrics, software fault tolerance, maintainability and reliability. Extensive use of the formal properties of algorithms is made.

Credits

Credits 3

Prerequisites

CSCI-551 (Software Engineering I).

CSCI-560 : Performance Modeling

This course teaches various aspects of computer-aided modelling for performance evaluation of (stochastic) dynamic systems. The emphasis is on stochastic modelling of computer systems and communication networks; however other dynamic systems such as manufacturing systems will also be considered.

Credits

Credits 3

CSCI-570 : Advanced Algorithms

This is a theoretical and advanced course in algorithms; it will present useful techniques for solving challenging programming problems, using efficient algorithms and data structures. It will also provide advanced techniques in the analysis of algorithms and the fine-tuning of algorithms to particular systems to improve performance.

Credits

Credits 3

CSCI-572 : Computability and Complexity

This course explores the relationship between problems, algorithms, and languages. Computability: finite automata, rewriting systems, Turing machines (linear speedup, robustness, and the Universal Turing machine). It presents recursive and recursively enumerable languages, the Church-Turing thesis, and complexity classes defined in terms of time, space, and circuits.

Credits

Credits 3

CSCI-574 : Computational Biology

Introduces computational methods for understanding biological systems at the molecular level. Problem areas such as mapping and sequencing, sequence analysis, structure prediction, phylogenic inference, regulatory analysis. Techniques such as dynamic programming, Markov models, expectation-maximization, local search.

Credits

Credits 3

CSCI-599 : MS Project

This is the terminal work for the non-thesis option of the master's degree program. It affords the opportunity to conduct applied research, design, implement, setup and configure a realistic enterprise computing application and its environment. Candidates who select the Master's Project must choose a major professor to direct their project. The advisor and the student may identify other resource persons to serve in an advisory capacity for the project. Before beginning the project, student must present a project concept proposal to the major professor. The Director of Graduate Studies must approve this project. Student will write a project report and present the study at an announced open forum similar to the thesis defense. This report will not be on file in the Howard University library.

Credits

Credits 3

CSCI-600 : Research Methods

The course introduces the language of research, ethical principles and challenges, and the elements of the research process within quantitative, qualitative, and mixed methods approaches.

Credits

Credits 1

CSCI-632 : Advanced Database Systems

This course presents advanced database system design and implementation. It will start with the basic relational databases and then cover advanced topics in modern database systems, including object-oriented databases, XML databases, distributed databases, and on-line analytical processing. It will also present various data description and query languages, database design, and query processing and optimization, and also look at distributed object model, and data mining and data warehouses.

Credits

Credits 3

CSCI-634 : Advanced Modeling and Simulation

This course will provide students with the ability to model, simulate and analyze complex systems in a reasonable time. This course is divided into three parts and covers advanced techniques in simulation model design, model execution and model analysis. A selection of model design techniques such as conceptual models, declarative models, functional models, constraint models, and multi-models will be introduced.

Credits

Credits 3

CSCI-652 : Special Topics in Cybersecurity

Courses on specialized or emerging cybersecurity topics offered on a timely or as-needed basis. This course can be repeated for credit. The description of the actual topic I list in the "note section" in the Schedule of Classes. See page 577 for additional information related to Special Topics courses.

Credits

Credits 3

CSCI-653 : Cybersecurity I

This course will provide an intensive overview of the field of cryptography, providing a historical perspective on early systems, building to the number theoretic foundations of modern day cryptosystems. Students will study how cryptosystems are designed, to match cryptosystems to the needs of an application, and basic cryptanalysis. Real life breaches of common cryptosystems will be presented to better convey the dangers that lurk in cryptosystem design and in the design of systems that rely on cryptography.

Credits

Credits 3

CSCI-654 : Cybersecurity II

This course is a continuation of Computer Security I. It will present security policies, models, and mechanisms for secrecy, integrity, and availability. Topics include operating system models and mechanisms for mandatory and discretionary controls; data models, concepts, and mechanisms for database security; basic cryptography and its applications; security in computer networks and distributed systems; and control and prevention of viruses and other rogue programs.

Credits

Credits 3

CSCI-659 : Capstone in Security

This course is the terminal project for the Information Security Certificate program. It requires the design, implementation, setup and configuration of realistic enterprise computing applications and environments. Securing the infrastructure and integration of different services and technology in efficient, secured and redundant manners, and utilizing opensource and commercial security products.

Credits

Credits 3

CSCI-660 : Artificial Intelligence

This course presents an overview of artificial intelligence and a survey of the major areas of the field. Course objectives are to study the various knowledge representation methods and techniques in solving AI problems in the literature, gain a level of proficiency in LISP that will enable the student to program an AI problem; design a solution to an AI problem using LISP or a specialized AI language.

Credits

Credits 3

CSCI-672 : Intro to Machine Learning

Techniques for learning from data and applying these algorithms to application settings. Topics covered include Bayesian methods, linear classifiers such as the perceptron, regression, and nonparametric methods such as k-nearest neighbors.

Credits

Credits 3

CSCI-673 : Knowledge Engineering and Management

Knowledge Engineering is the process of building and maintaining Knowledge structures, particularly intelligent problem-solving systems. Knowledge management is concerned with collecting and making accessible the knowledge structures most relevant to a particular set of stakeholders. This course covers selected methods from different areas of Knowledge Engineering and knowledge management. Topics include knowledge representation and reasoning, knowledge acquisition, knowledge synthesis and knowledge evolution.

Credits

Credits 3

CSCI-674 : Advanced Systems Management and Analysis

The general aim of this course is to examine the design and application of systems in business for routine data processing, management reporting, and decision support at various levels within the organization. The main focus of the course will be on the non-programming components of the systems development process.

Credits

Credits 3

CSCI-680 : Advanced Operating Systems

This course presents an exciting range of materials from the broad field of operating systems, including basic operating system structure, file systems and storage servers, memory management techniques, process scheduling and resource management, threads, distributed systems, security and a few other advanced topics. It will also examine influential historical systems, important current efforts, extracting lessons both on how to build systems as well as how to evaluate them.

Credits

Credits 3

CSCI-682 : Parallel Computing

This course aims at exploring several alternative programming models and contrasting their suitability for different architectures and applications. The material covered will encompass topics in parallel computer architectures, parallel programming models, and languages. Appropriate examples for existing or proposed parallel architectures will be surveyed. Alongside, students will have the opportunity to gain hands-on experience with MPI and PVM.

Credits

Credits 3

CSCI-683 : Special Topics in Software Engineering

The course consists of a series of lectures and/or practical work in an area of advanced software engineering of contemporary interest. See page 577 for additional information related to Special Topics courses.

Credits

Credits 3

CSCI-685 : Special Topics in Artificial Intelligence

This course will present special research projects in Artificial Intelligence for students who wish to independently pursue reading and study in a topic mutually agreed upon by a member of the faculty and the student.

Credits

Credits 3

Prerequisites

permission of the director of the Computer Science program. See page 577 for additional information related to Special Topics courses.

CSCI-686 : Special Topics in Data Communications

his course will present special research projects in Data Communications for students who wish to independently pursue reading and study in a topic mutually agreed upon by a member of the faculty and the student.

Credits

Credits 3

Prerequisites

permission of the director of the Computer Science program. See page 577 for additional information related to Special Topics courses.

CSCI-687 : Special Topics in Computing Systems

This course will present special research projects for students who wish to independently pursue reading and study in a topic mutually agreed upon by a member of the faculty and the student.

Credits

Credits 3

Prerequisites

permission of the director of the Computer Science program. See page 577 for additional information related to Special Topics courses.

CSCI-688 : Special Topics in Computational Systems

This course will focus on fundamental theory and algorithms for working with Big Data and networks. Topics covered will include graph embedding, spanning trees, network flow, random graph models, network formation and evolution, structure and attribute-based search, clustering, partitioning, and distributed dynamical systems. See page 577 for additional information related to Special Topics courses.

Credits

Credits 3

CSCI-699 : Thesis

The thesis option provides the student the opportunity to conduct original research and to report this in a scholarly manuscript. This option is especially well suited to a student who plans on pursuing a PhD degree. Students who select this option must choose a major professor to act as the chair of their thesis committee and two additional committee members. Before beginning work on a thesis, a student must present a proposal to their committee for approval. The committee will direct and supervise the work carried out by the student. The student is bound by the Graduate School rules and regulations for thesis defense.

Credits

Credits 3

CSCI-783 : Advanced Topics in Software Engineering

Seminar on current research and developments in software engineering. Students develop a software package with the aid of available software tools such as requirement tool, design tool, code generators, testing tools, measurement tools, cost estimation tools.

Credits

Credits 3

CSCI-785 : Advanced Topics in Artificial Intelligence

This course will cover selected topics from: advanced pattern recognition, neural networks, expert systems and fuzzy systems, evolutionary computing, learning theory, constraint processing, logic programming, probabilistic reasoning, computer vision, speech processing, and natural language processing.

Credits

Credits 3

CSCI-786 : Advanced Topics in Computer Networks

The goal of this course is to expose students to recent advances in wired and wireless networks, with focus on the architectural and protocol aspects underlying the design and operation of such networks. ... They will also use simulations to evaluate the performance of various design concepts.

Credits

Credits 3

CSCI-787 : Advanced Topics in Computing Systems

It provides a PhD-level study of groundbreaking and influential research across the spectrum of operating systems, parallel and distributed systems, networked systems, storage systems, and security across the tiers from global scale, cloud, institutional, personal, mobile, and embedded.

Credits

Credits 3

CSCI-788 : Advanced Topics in Computational Systems

Continued graduate survey of large-scale systems for managing information and computation. Topics include basic performance measurement; extensibility, with attention to protection, security, and management of abstract data types; index structures, including support for concurrency and recovery; parallelism, including parallel architectures, query processing and scheduling; distributed data management, including distributed and mobile file systems and databases; distributed caching; large-scale data analysis and search. Homework assignments, exam, and term paper or project required.

Credits

Credits 3

CSCI-799 : Dissertation

The dissertation option provides the student the opportunity to conduct original research and to report this in a scholarly manuscript. Students must choose a major professor to act as the chair of their dissertation committee and two additional committee members. Before beginning work on a dissertation, a student must present a proposal to their committee for approval. The committee will direct and supervise the work carried out by the student. The student is bound by the Graduate School rules and regulations for dissertation defense. See note on page 577 related to dissertation hours.

Credits

Credits 12

CUGW CE-6505 : Environmental Impact Assessment

This course introduces the methodology of environmental impact assessment (EIA) as a vital tool for sound environmental management and decision-making. The course provides an overview of the concepts, methods, issues and various forms and stages of the EIA process.

Credits

Credits 3

CUGW CE-6601 : Open Channel Flow

A rigorous mathematical study of one-dimensional flow in open channels, including uniform, gradually varied, rapidly varied, tidal, and flood flows. Analytical and finite difference solutions to the governing conservation equations developed with aid of the computer, and stable channel design addressed.

Credits

Credits 3