Graduate Courses

These courses may be taken for graduate credit.

CSCI-510

Computer Architecture

3 Credits

A study of advanced uniprocessor and basic multiprocessor systems. Topics may include memory management systems, pipelined processors, array and vector processors, and introduction to architecture of multiprocessor systems.

CSCI-522

Computer Graphics

3 Credits

Input/output devices and programming techniques suitable for the visual representation of data and images.

CSCI-535

Advanced Operations Research

3 Credits

Introduction to mathematical modeling and techniques. Extremal properties of multivariate functions with and without constraints; convex sets and convex functions; linear, quadratic, and dynamic programming; decision theory, forecasting, time series analysis, and inventory models; markov chains, queuing theory, capital budgeting, and time value of money.

CSCI-540

Object-Oriented Development

3 Credits

Introduces the fundamentals of object-oriented information system development with a focus on analysis and design phases. Data modeling and design principles such as data abstraction, information hiding, modularity, and coupling are viewed in the context of object-oriented paradigm. For object-oriented modeling Unified Modeling Language (UML) is introduced and used extensively throughout the course. Issues relating to making the transition from other software development methodologies are examined and risks involved in object-oriented process are discussed.

CSCI-542

Compiler Design

3 Credits

Review of programming language structures, translation, and storage allocation. Introduction to context-free grammars and their description. Design and construction of compilers including lexical analysis, parsing and code generation techniques. Error analysis and simple code optimizations will be introduced.

CSCI-548

Data Communications I

3 Credits

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.

CSCI-549

Data Communications II

3 Credits

Presents communication hardware technologies including local area and long-haul network hardware, circuit and packet switching, interfaces between computer and network hardware, and performance issues. It also introduces network architecture protocol software and conceptual layering, reliable delivery over an unreliable channel, transport protocols, virtual circuits, datagrams, Internet working as a fundamental design concept, the client-server paradigm, naming and name binding, name servers, addressing and address resolution, routing and routing algorithms, congestion and flow control techniques, network file systems, distribution of computation, DARPA Internet protocols (TCP/IP) as examples of protocol organization.

CSCI-551

Advanced Software Engineering I

3 Credits

This course introduces software engineering as a discipline, discusses stages of the software life cycle, compares development models such as waterfall, prototyping and incremental/iterative, covers requirements analysis, effort and cost estimation, compares structured and object-oriented analysis and design methods. It also discusses verification/ validation, quality assurance, software reliability, testing methods, maintenance, documentation, project management and team structure, metrics, and available tools.

CSCI-552

Advanced Software Engineering II

3 Credits

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.

CSCI-553

Network and Web Programming

3 Credits

This class will introduce (1) network programming, writing applications that communicate with each other via TCP/UDP sockets, and (2) Web programming, writing applications that are accessible through a Web Browser over the Hypertext Transport Protocol (HTTP). For web programming, both client side and server side programming will be covered. The LAMP stack (Linux, Apache, MySQL, and PHP) will be used for server side, Javascript and CSS will be covered for client side. HTML will be taught before studying programming. As prerequisites, programmming skills are needed. Light database experience is preferred but not must.

CSCI-554

Computer and Network Forensics II

3 Credits

This class will discuss advanced computer forensics topics and network forensics. knowledge points include virtual machine forensics, mobile device forensics, cloud forensics, email and social media investigation, network traffic capture and analysis, network application log analysis. As prerequisites, CSCI 450 (Data Communication) and CSCI 211 (Unix Labs) are required.

CSCI-560

Performance Modeling

3 Credits

Queuing network models and simulation for studying the performance of overall computer systems and each subsystem such as CPU, memory, I/O, and interconnection. Topics also include capacity planning, hardware selection and upgrade, and tuning.

CSCI-570

Advanced Algorithms

3 Credits

This course will survey many of the techniques that apply broadly in the design of efficient algorithms, and study their application in a wide range of application domains and computational models. Techniques to be covered include amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms. Domains include string algorithms; network optimization; parallel algorithms; computational geometry; online algorithms; external memory, cache, and streaming algorithms; and data structures.

CSCI-572

Computability and Complexity

3 Credits

Sequential and parallel complexity classes (e.g., NP-complete and P-complete) and representative problems in languages, logic and graphs. Reduction techniques. Approximate solutions. Complexity hierarchies.

CSCI-574

Computational Biology

3 Credits

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.

CSCI-575

Intro to Machine Learning

3 Credits

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 non-parametric methods such as k-nearest neighbors.

CSCI-580

Introduction to Affective Biometrics

3 Credits

Affective computing represents a broad, interdisciplinary research and practice area focusing on a range of topics, including: computational models of emotion, cognitive-affective architectures, affective user modeling; emotion sensing and recognition; emotion expression; and the use of emotions to improve human-computer interaction across a range of contexts including health informatics and immersive environments. This course will provide an introduction to affective computing and human-computer interaction through a combination of lectures, student presentations of selected literature, projects and class discussions. The course content and format will be appropriate for computer science, cognitive science, psychology, human factors, and industrial engineering students (advanced undergraduate/graduate). Students in this course will design an experimental study to examine how emotional states like stress, anxiety, frustration, anger, and/or depression can be measured through the use of mobile applications. At the end of the course, students will be paired with a student from the Architecture Department class called Immersive Environments to perform a study on how to design immersive environments to reduce stress, anxiety,frustration, anger, and/or depression.

CSCI-599

Masters Project

3 Credits

Individually supervised masters projects. Non-thesis option students only.

CSCI-610

Computer and Network Forensics I

3 Credits

Computer and Network Forensics I is the first course in the two semester series on computer and network forensics, and focuses on computer system forensics (while the second course on network forensics). It consists of three major components: assembly level reverse engineering (to understand the logic of a program given only machine code), file system forensics (to find traces of past activities on data stored in nonvolatile storage) and memory forensics (to find traces of past stalactites on data stored in volatile storage). It will also briefly discuss the law aspect of digital forensics. In order to understand the materials, students are expected to have the following prerequisites: good programming skills in both high level (preferably C/C++) and assembly level, operating systems and basic familiarity with Linux and Windows.

CSCI-632

Advanced Database Systems

3 Credits

This course introduces the student to the design, use, and application of database management systems. Topics include the relational data model, relational query languages, design theory, and conceptual data design and modeling for relational database design. Techniques that provide for data independence, and minimal redundancy will be discussed. Students will be expected to design and implement database system applications.

CSCI-633

Introduction to Database Security

3 Credits

An overview of both the theory of and applications for providing effective security in database management systems. Topics include conceptual frameworks for discretionary and mandatory access control, data integrity, availability and performance, secure database design, data aggregation, data inference, secure concurrency control, and secure transactions processing. Models for multilevel secure databases for both relational and object-relational databases are analyzed. Assignments focus on database security concepts.

CSCI-634

Advanced Modeling and Simulation

3 Credits

Introduces the fundamentals of system design and modeling. Emphasizes advantages and limitations of various modeling techniques for different applications. Introduces probability distributions typical of queuing models and presents in-depth discussions and experiments with existing simulation packages.

CSCI-650

Artificial Intelligence

3 Credits

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.

CSCI-651

Expert Systems

3 Credits

Presents an overview of expert systems and a survey of the major areas of the field. Course objectives are to study the various knowledge representation methods and techniques in solving expert systems problems in the literature, in order to design and implement solutions to problems in specific application domain.

CSCI-652

Special Topics

3 Credits

Presents special 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. Prerequisite: permission of the Chair of the Department of Systems and Computer Science.

CSCI-653

Cybersecurity I

3 Credits

This course introduces the basic concepts of cryptography. Various cipher systems Various cipher systems are presented including transposition and substitution systems, Block ciphers, RSA & Knapsack. Methods used to attack ciphers are discussed with emphasis on complexity. Case studies of use of cryptographic methods in communication systems are presented with some consideration given to privacy issues.

CSCI-654

Cybersecurity II

3 Credits

Modern topics in computer security, including: protection, access control, operating systems security, network security, database security, applied cryptography, cryptographic protocols, secure programming practices, safe languages, mobile code, malware, privacy and anonymity, and case studies from real-world systems.

CSCI-659

Security Capstone

3 Credits

This course that brings together all the threads from other courses into a comprehensive project based case study. Students will be required to identify and evaluate threats to information, personnel, software and hardware. The course shows how to develop security policies and procedures to manage threats; develop a cost/benefit analysis and security and assurance plan for the organization and recommend the sequence of implementation of the plan.

CSCI-673

Knowledge Engineering and Management

3 Credits

Knowledge Engineering is the process of building and maintaining intelligent problem-solving systems that use (symbolic) AI methods. This course provides covers selected methods from all areas of Knowledge Engineering. Topics include knowledge representation and reasoning, knowledge acquisition, knowledge synthesis and knowledge evolution.

CSCI-680

Advanced Operating Systems

3 Credits

Hardware and software issues in modern operating systems, distributed and networked operating systems, and real time operating systems. Topics may include multithreading, distributed systems, device drivers, object oriented operating systems, advanced file systems, parallel virtual machines, and load balancing. Examples from current popular modern systems and research operating systems will be analyzed.

CSCI-681

Introduction to Big Data Analysis

3 Credits

The primary goal of big data analytics is to analyze large volume of data. The analysis of big data requires the organization, storage, and processing of data at a scalable and efficient way which goes beyond the capabilities of traditional information technologies. In this course, we will cover modern massive data analysis technologies including different platforms, models, and languages, we will also look at real world applications and how they can be implemented on big data platforms. Topics in this course include: Map reduce/Hadoop, NoSQL stores, languages such as Pig Latin and JAQL, large-scale data mining and visualization. It will include programming projects that will provide students with hands-on experience on building data-intensive applications using existing big data tools and platforms.

CSCI-682

Parallel Computing

3 Credits

Covers the theory and practice of parallel processing. Theoretical topics include: abstract models and algorithms for shared memory computation (PRAM); algorithms for various topologies such as meshes and hypercubes; efficiency and speedup analysis. Problem areas include data structures, numerical methods, graphs, combinatorics. Practical topics include synchronization, routing, scheduling, parallelizing serial computations, programming languages. Includes programming exercises using one or more concurrent programming languages, on one or more parallel computers.

CSCI-683

Distributed Systems

3 Credits

This course explores the issues to address in designing and implementing distributed systems with a particular emphasis on how to deal with the shared state between separate processes within such a system. Topics include: distributed shared memory, object-oriented structuring of distributed systems, real/logical/virtual time, directories and naming, distributed file systems, authentication and security, distributed process scheduling, presentation protocols and communication support for distributed systems. The material complements network-layer courses by building on the transport layer to provide higher-level applications and services.

CSCI-699

Masters Thesis

3 Credits

Preparation of thesis in computer science. Thesis option students only.

CSCI-799

Dissertation

3 Credits

Preparation of dissertation in computer science. Ph.D. students only.

News

Innovation and Entrepreneurship Workshop (Wed. Nov. 16th @ 6:30p - HUIRB 1st Floor)

Tue, November, 15 2016

Innovation and Entrepreneurship Workshop (Wed. Nov. 16th @ 6:30p - HUIRB 1st Floor) Serious about launching your own startup! This is one of several workshops that will be offered throughout the year. For those students who participate in all the workshops, they will receive up to $3K to fund their venture. Read More >>

Dr. Burge to speak at TedX Howard University

Mon, August, 29 2016

TEDx brings together bright minds to give idea-focused talks that range from a wide scope of subjects, which foster learning, inspiration and provoke impactful conversations. Read More >>

Events

No Events