2016-2017 Catalog > Graduate Courses > CS - Computer Science
Prerequisites: Either a minimum grade of "B-" in MATH 505 or concurrent enrollment in MATH 505, or permission of the instructor. Previous experience with a high-level programming language is recommended. Basic program development techniques including input, output, assignment, control structures, data types and subprograms. All phases of the course will focus on problem-solving strategies, modular design and de-bugging techniques. Students will also learn a specific high-level programming language.
Prerequisites: A minimum grade of B- in both CS 503 and MATH 505. A study of abstract data types and data structures such as stacks, queues, linked lists, trees, graphs and their implementations. Topics also include algorithms for hashing, sorting, searching and analysis of algorithm efficiency. Students will be required to use a high-level programming language at an advanced level in programming assignments.
Prerequisites: A minimum grade of B- in both MATH 505 and CS 503, or permission of the instructor. A comprehensive introduction to the general organization, architecture, and functional characteristics of computer systems. Topics include machine level representation of data, assembly level machine organization, memory system organization and architecture, alternative architectures and device interfaces.
Prerequisite: A minimum grade of "B-" in CS 504. Intensive introduction to object-oriented programming and advanced data structures. Topics include heaps, priority queues, hash tables, B+, B* trees and graphs. Emphasizing advantages and disadvantages of design and implementation choices, and the way these choices affect software quality. Instruction will be in the C++ programming language.
Prerequisites: MATH 505, Calculus and CS 519 Introduction to the analysis and design of algorithms. Topics include: sorting , searching, advanced tree structures, graph algorithms, network flow problems, amortized analysis, divide-and-conquer, greedy algorithms, dynamic programming, combinatorial search algorithms, computational geometry and NP-completeness.
Prerequisites: MATH 500 and CS 519
Introduces basic principles and methods for data analysis and knowledge discovery to computer science students. Topics include preprocessing, association, classification and anomaly detection. Students develop basic skills for modeling and performance evaluation.
Prerequisite: A minimum of "B-" in CS 504, or permission of the instructor. Comprehensive examination of the theory and practice behind software development. Students design, develop, implement and release a significantly sized software product.
Prerequisite: A minimum grade of "B-" in CS 524 or permission of the instructor. Comprehensive examination of the theory and practice behind software testing and quality assurance. Topics include: the software testing process, testing methods, test models, test design techniques, integration, regression, measurement, unit testing, slicing, debugging, inspection and software metrics.
Prerequisite: A minimum grade of "B-" in CS 504, or permission of the instructor. History, fundamental principles, and future directions of A.I. Topics include state-space searching, knowledge representation, logic and deduction, natural language processing, neural networks, learning, vision, robotics, and cognitive science. Topics will be treated at a level of depth and detail appropriate for a first course in AI.
Prerequisite: A minimum grade of B- in CS 504, or permission of the instructor. Not open to students who have completed IT 530. Design and implementation of databases from a real world applications point of view. The course includes database concepts such as basic architectural issues, the relational model, query processing, logical database design and normalization theory and data protection issues.
Prerequisites: IT 518 or CS 524 or permission of the instructor. Theory and practice behind the analysis of computing and networking equipment to determine if systems and networks have been used for illegal, unauthorized or unusual activities.
Prerequisites: CSIT 555 or permission of the instructor. Examination of the pervasive security threats related to the Internet, data communications and networking. Real-time or near real-time capture of information and the systematic tracking of transmissions. Topics include network-borne threats, detection, prevention and analysis; authentication; malicious software and firewalls.
Prerequisites: A minimum grade of B- in CSIT 555 or permission of the instructor. Introduction to cryptology, the science of making and breaking secret codes. Topics include encryption, cryptanalysis, public and secret key encryption, block ciphers and digital signatures. Classic and modern cryptography and encryption concepts will be introduced as tools and safeguards to be applied, implemented and evaluated in real-world scenarios.
Prerequisite: CS 504 (MS in CS students) or IT 514 (MS in CIS students) or permission of the instructor. The role of human factors and psychology in usability; interaction and interface design issues; command languages, menus, error messages and response time physical interaction, I/O devices and interaction style and techniques; the design process and user models; interface evaluation; integration of user interfaces with software engineering.
Prerequisites: CS 504 and CS 528. This course deals with the simulation of human perception. Specific topics investigated include methods for pattern recognition and employing neural networks in perceptual tasks.
Prerequisites: CS 528 Introduction to the field of modeling learning with computers. Topics included are explorations of inductive learning, learning decision trees, ensemble learning, computational learning theory, and statistical learning methods.
Prerequisites: CS 504 and CS 528. This course provides a comprehensive examination of current approaches to knowledge representation. Topics covered will include first order logic, ontological engineering, reasoning systems and dealing with uncertainty.
Prerequisites: A minimum grade of B- in CS 528, or permission of the instructor. Comprehensive examination of the theory and practice behind robot-building and the deployment of intelligent systems. Topics are divided between robot architectures (control paradigms, kinematics, sensors, actuators and navigation) and cognitive robotics (learning, decision-making, coordination and cooperation).
Prerequisite: A minimum grade of B- in MATH 505, or permission of the instructor. Introduction to combinational and sequential circuit design. Topics include Boolean algebra and simplification techniques, arithmetic circuits, decoders, flip-flops, counters, registers, memory systems, analog-to-digital conversion and VHDL programming.
Prerequisites: A minimum grade of B- in both CS 504 and CS 508, or permission of the instructor. Foundations of networking technology and security. Signaling, signal propagation, data and bit encoding, packetization, wiring, physical and logical topologies, network architectures, protocols and layered models, network security will focus on the origin, axis and impacts of network related threats and their detection, correction and prevention.
Prerequisites: CS 530 or IT 530 and either IT 548 or CS 553, or permission of the instructor. Technical, operational and managerial issues of computer systems. Threats to computer security including schemes for breaking security, and techniques for detecting and preventing security violations. Emphasis will be on instituting safeguards, examining types of security systems and applying the appropriate level of security for perceived risks.
Prerequisite: A minimum grade of "B-" in CS 519, or permission of the instructor. This course will focus on the UNIX operating system and system level programming in the UNIX environment. Course includes an in-depth study of UNIX file handling, process structure, process control, process scheduling, memory management and interprocess communication.
Prerequisites: A minimum grade of B- in both CS 508 and CS 519, or permission of the instructor. An in-depth study of architectural concepts and principles including performance-based design tradeoffs. Topics to be covered include: instruction set design, arithmetic algorithms, hardwired and microprogrammed control, memory hierarchy design, input/output, pipelines, RISC, CISC, vector processors, parallel processors and superscalar machines.
Prerequisites: A minimum grade of B- in both CS 508 and CS 519, or permission of the instructor. A comprehensive introduction to the fundamental principles of operating systems illustrated by examples from contemporary systems. This course emphasizes the design tradeoffs involved in operating system design. Topics include: process management; concurrency; deadlock; cpu scheduling; memory management; disk management; files systems; security; and distributed, real-time and multiprocessor operating systems.
Prerequisites: CS 519, CS 530 and CS 564, or permission of the instructor. This course covers a range of database system concepts such as transaction processing, serializability, locking and timestamping protocols, logging techniques, implementation of backup and recovery, indexing, query processing and optimization, and various additional implementation techniques. These concepts are illustrated by examining the implementation and application of object-oriented, parallel and distributed database systems.
Prerequisites: A minimum grade of B- in CS 519 or permission of the instructor. A comprehensive introduction to both the principles and the practice of parallel computing. Topics to be covered include: programming and architectural models, parallel algorithms and parallelizing compilers.
Prerequisites: A minimum grade of "B-" in both CS 508 and CS 519, or permission of the instructor. Survey of major programming paradigms and their related languages, including procedural, functional, logic and object-oriented programming. Topics include: binding, exception handling, data sharing, scope, parameter passing, type checking, runtime storage management, lexical analysis, syntactic analysis, parsing, code generation and optimization.
Prerequisite: permission of the chair of the department. A maximum of 6 credits may be applied to a degree program. Reading and/or research in a selected field. An approved title for the independent study must be submitted with the registration forms.
Supervision of the master’s thesis. Required of all degree candidates who select the thesis option.
Supervision of the master’s field work project. Required of all degree candidates who select the field work project option.
Prerequisites: CS 524 and 18 credits of CS coursework beyond foundation level, and permission of department. Design, creation and documentation of an applications program. Required of all degree candidates who have requested and been accepted for the software engineering project option.
Pre-Requisites: Completion of 18 credits and permission of the instructor.
This course is designed to provide computer science and information technology professionals
with a working knowledge and practical application of the topics covered in CS, IT and MIT
courses. The students will apply current research and accepted practices of CS and IT field in a
variety of professional settings and will perform work supervised by both a professional advisor
and a Hood advisor. Based on the description for the external position, students will craft an
appropriate research/professional plan, in consultation with his/her Hood advisor. This course
will help students synthesize previous concepts and training as they transition to the role of a
professional. This 3-credit course counts as an elective toward degree completion.
Through an integration of the liberal arts and the professions, Hood College provides an education that empowers students to use their hearts, minds and hands to meet personal, professional and global challenges and to lead purposeful lives of responsibility, leadership, service and civic engagement.
401 Rosemont Ave.
Frederick, Md. 21701