DEPARTMENT OF COMPUTER SCIENCE

The graduate program in Computer Science prepares students for professional employment or further study at the doctoral level. Computer Science may be selected as the major for the Master of Science degree. Computer Science may also be selected as a minor for MS and MA degrees in related areas.

The Computer Science program’s curriculum utilizes state-of–the-art software, software development methodologies, project management techniques, and hardware. Emphasis is placed on preparing students for an environment where change is the norm.

Research areas include software engineering, networking, programming languages, language translators, artificial intelligence, database, parallel processing, real time systems, digital forensics, security, data mining and the application of theory to practical problems in industry. The quality of Computer Science graduates is widely recognized by industry. Graduates are employed within the state of Texas, the United States, and many foreign countries.

The Digital Forensics curriculum prepares students for service in a variety of public and commercial arenas as digital forensics or network security professionals. In particular, graduates from the Digital Forensics program will be able to effectively plan, establish and administer security and information assurance systems in commercial settings and in law enforcement. The Digital Forensics program utilizes state of the art facilities through the Sam Houston State University Center of Excellence in Digital Forensics, a federally funded training and research facility. These facilities include a Network Security Lab, accommodating training in data and network security as well as cyber security intrusion detection, prevention and tracing, and a Data Recovery Lab that will provide training in the identification, recovery, and preservation of data for legal purposes.

Both programs reflect a diverse student body with applicants from Texas, the United States, and a host of foreign countries. SHSU Computer Science graduates have been employed by IBM, Microsoft, Dell, HP, Texas Instruments, and internet and communication companies. Many graduates also find positions in energy related fields. Firms employing SHSU graduates include major oil, transportation/distribution, and waste disposal companies.

Additional information concerning the Department of Computer Science and its graduate program offerings can be found at www.shsu.edu/~csc_www. For further information concerning the digital forensics program and continuing education opportunities visit df.shsu.edu.

Admission Requirements

Students seeking admission to the graduate program in Computer Science must submit the Graduate Studies Application for Admission with the one-time application fee to the Office of Graduate Studies, and official transcripts of all college-level work (including the transcript that shows the date the undergraduate degree was conferred). In addition the following are required:

A holistic review of each student's application file will be completed upon a competitive basis.

A. COMPUTER SCIENCE

Graduate study in Computer Science is accessible both to students who have completed undergraduate Computer Science majors or minors and to those with baccalaureate degrees in related fields with the equivalent of a Computer Science minor in formal course work or professional experience. As a minimum, candidates are expected to present a background comparable to that provided in CS 164, 165, 334, 362, 431, 482, MTH 299, and MTH 379 as described in the undergraduate catalog of Sam Houston State University. Applicants with less preparation will be required to complete additional stem work as part of the graduate program. This requirement covers the stem work courses that are taken at Sam Houston State University as well.

Degree Plans

There is a thesis and non-thesis option available for a Master of Science degree in Computer Science. The graduate advisor will review each applicant’s background and assist in developing individual study plans including any required stem work. The selection of a minor and the choice of electives must be approved by the Computer Science Department Chair to ensure the student’s plan is a properly balanced program.

Master of Science, 36 hours without thesis and 39 hours with thesis.

Common Requirements:

1. A 15-hour core consisting of CS 531, 536, 564, 566, and 584
2. An oral examination over core courses
3. Six semester hours of approved Computer Science courses
4. One of the following:

A. CS 561 (a practicum project, and oral presentation of the project)
B. CS 698 and CS 699 ( research and thesis)

Additional Requirements:

The degree program may include a 12-semester hour minor in a field approved by the Chair of the Computer Science Department, or 12 additional semester hours of approved Computer Science courses. The 12-semester hour minor in an approved field may only be chosen if the student’s plan of study provides for a minimum of 48 semester hours (total graduate and undergraduate) in Computer Science or the student has extensive professional experience in Computer Science.

Other Scholarly Requirements

A committee advisor is assigned to each student at the time the student registerd for either CS 561 (programming practicum) or CS 698 (thesis). Committee appointments are made by the Chair of the Computer Science Department based upon recommendation from the Computer Science Graduate Advisor. The advisory committee consists of graduate faculty from the Computer Science Department and possibly one from the minor area, if applicable. The oral comprehensive examination, required by the University of all Master’s degree candidates, as well as the CS 561 project presentation or the CS 698 thesis defense, will be administered by this committee. Students must be enrolled the semester in which they take comprehensive examinations. Once enrolled in a thesis class, a student must be continually enrolled until graduation.

B. DIGITAL FORENSICS

Graduate study in Digital Forensics is accessible both to students who have completed undergraduate Computer Science or Criminal Justice majors or minors and to those with baccalaureate degrees in technical fields with the equivalent of a Computer Science or Criminal Justice minor in formal course work or professional experience. Applicants who do not possess the appropriate academic, technical or experiential backgrounds may be required to take stem work courses to ensure a minimum standard of technical competence. Stem work decisions are made on an individual basis by the department chair .

Degree Plan

The Master of Science in Digital Forensics Program has a total of 36 semester credit hours. This hours total is derived from a need to provide appropriate coursework in two areas, Criminal Justice and Digital Forensics.

Criminal Justice (6 hours)
CJ 532 Perspectives in Criminology (3 hours)
CJ 634 Basic Research Methods and Planning Resources (3 hours)

Digital Forensics (21 hours)
DF 531 Principle and Policy in Information Assurance (3 hours)
DF 534 Digital Security (3 hours)
DF 561 Network Security (3 hours)
DF 583 Digital Forensics Investigation (3 hours)
DF 584 Software Forensic Evidence Management (3 hours)
DF 630 Cyber Law (3 hours)
DF 661 Cyber Warfare and Terrorism (3 hours)

Additional Requirements (6 hours)

CJ 637 Directed Management and Development Projects (3 hours)
CJ 670 Internship (3 hours)
DF/CJ Elective (3 hours)

Other Scholarly Requirements

A committee advisor is assigned to each student who has registered for either DF 637 (Directed Management and/or Development Project) or DF 670 (Internship). Committee appointments are made by the Chair of the Computer Science Department based upon recommendation from the Computer Science Graduate Advisor. The advisory committee consists of graduate faculty from the Computer Science Department. Supervision of the Directed Management and Development Project, as well as the presentation of project findings will be administered by this committee. Students must remain continuously enrolled until graduation.

C. INFORMATION ASSURANCE AND SECURITY*

Graduate study in Information Assurance and Security is accessible both to students who have completed undergraduate Computer Science or Management Information Science majors or minors and to those with baccalaureate degrees in technical fields with the equivalent of a Computer Science or Management Information Science minor in formal coursework or professional experience. Applicants who do not possess the appropriate academic, technical or experiential backgrounds may be required to take stem work courses to ensure a minimum standard of technical competence. Stem work decisions are made on an individual basis by the department chair.

* Subject to action by the Texas Higher Education Coordinating Board.

Degree Plan

The Master of Science in Information Assurance and Security program has a total of 36 semester credit hours drawn from Digital Forensics and Computer Science coursework and consists of 30 hours of prescribed coursework and 6 hours of elective coursework.

Prescribed Coursework (30 hours)
DF 531 Principle and Policy in Information Assurance (3 hours)
DF 561 Network Security I (3 hours)
DF 583 Digital Forensics Investigation (3 hours)
CS 534 Operating System Security (3 hours)
CS 537 Database Security (3 hours)
DF 564 Organizational System Security (3 hours)
DF 566 Risk Assessment and Financial System Investigation (3 hours)
CS 568 Cryptography and Steganography (3 hours)
CS 589 Disaster Recovery (3 hours)
DF 637 Directed Management and Development Project (3 hours)

Elective Coursework (6 hours). Select 6 hours from: CS 535 Malware (3 hours)
DF 568 Digital Fraud Examination (3 hours)
DF 661 Network Security II (3 hours)
DF 670 Internship (3 hours)

Other Scholarly Requirements

A committee advisor is assigned to each student who has registered for either DF 637 (Directed Management and/or Development Project) or DF 670 (Internship). Committee appointments are made by the Chair of the Computer Science Department based upon recommendation from the Computer Science Graduate Advisor. The advisory committee consists of graduate faculty from the Computer Science Department. Supervision of the Directed Management and Development Project, as well as the presentation of project findings will be administered by this committee. Students must remain continuously enrolled in the Directed Management and Development Project until its completion and the completion of all required coursework.

Senior Courses Open to Graduate Students
(with the approval of the Graduate Advisor)

CS 430 Language Translators (Credit 3)
CS 431 Computer Operating Systems (Credit 3)
CS 437 Software Engineering (Credit 3)
CS 477 Simulation (Credit 3)
CS 482 Programming Languages (Credit 3)

A maximum of six hours of 400-level courses may be taken toward the completion of the master’s degree. Course requirements in 400-level courses will be appropriately modified for graduate credit.

COMPUTER SCIENCE COURSE DESCRIPTIONS

CS 531 Operating Systems. A comprehensive study of computer operating systems. Topics include: computer architecture, concurrent processes, multi-threaded systems, scheduling, memory management, I/O management, fi le systems, networking and the client/server model, distributed systems, and computer security. Prerequisites: CS 362 and 431. Credit 3.

CS 532 Parallel Computing. This course is a study of large-scale parallel processing systems. The central themes are theoretical models, machine architecture, computer algorithms, and programming languages that model, support, describe and implement parallel processing. Prerequisite: CS 584. Credit 3.

CS 533 Microcomputer Interfacing. This course emphasizes real-time and fault-tolerant computing systems. Topics include interrupt processing, real-time programming and scheduling, fault-tolerant architectures and systems, and robotic programming. Extensive programming will be done. Prerequisite: CS 333. Credit 3.

CS 534 Operating System Security.* This course will provide the rationale and necessity for a full range of security concepts and techniques and how to apply them to multiple operating systems. The course will cover methodologies for the design of operating system security and forensic techniques for operating systems. Also covered will be the identification of best practices in the administration, testing and security for operating systems. Prerequisites: DF 531 or CS 531. Credit 3.

CS 536 Software Engineering. This course emphasizes strategies, techniques, and methodologies that deal with the complexity in developing large-scale information systems. Methods for Software engineering methodologies, conventional as well as object-oriented, are discussed. Software measurement and management are discussed. Formal mechanisms for system specifi cation, software development, and project management are introduced. Prerequisite: CS 437. Credit 3.

CS 537 Database Security.* Database security has an immense impact on the design of today’s electronic information systems. This course will provide an overview of database security concepts and techniques and discuss new directions of database security in the context of a connected commercial world. This course provides the information needed to develop, deploy and maintain a secure database solution. It exposes the pitfalls of database design, their means of identification and the methods of exploiting vulnerabilities. Prerequisites CS 334, DF 531 or departmental approval. Credit 3.

CS 538 Computer Graphics. A study of modern Computer Graphics programming techniques. Topics include: representations, transformations, and analysis of 2-dimensional and 3-dimensional objects; techniques for hidden surface/edge removal, illumination and shading, volume rendering, animation, and image data compression; and practical experience in graphics software libraries and applications. Prerequisite: CS438. Credit 3.

CS 544 Data Mining and Knowledge Discovery. An introduction into Data Mining and Knowledge Discovery. Topics include discussion of variety of mining techniques. Mining of complex data such as multimedia database, text database, and world-wide-web will be introduced. The applications and trends in data mining will also be discussed. Prerequisite: CS566. Credit 3.

CS 560 Special Topics. Topics and courses are selected to suit individual needs of students. The course may be repeated for additional credit. Prerequisite: Consent of graduate advisor. Credit 3.

CS 561 Programming Practicum. The practicum provides the student an opportunity to develop their programming and analytical skills by applying concepts and techniques learned in organized classes to real world projects under the supervision of faculty and/or supervisory Computer professionals. Prerequisite: Eighteen hours of Computer Science graduate level course work. Student must register for this course every semester the practicum is in progress but only three hours of practicum will apply to the student’s degree plan. Credit 3.

CS 562 Computer Architecture and Organization. An introduction into Computer Architecture and Organization. Topics include computer evolution and performance issues, the computer systems including system buses, internal and external memory, input/output, and operating system support, CPU issues including computer arithmetic, instruction sets, addressing modes, RISC and superscalar organization, control unit issues, microprogramming, and parallel organization. Prerequisites: CS 333 and CS 431. Credit 3.

CS 563 Networks and Data Communications. An introduction to the basic techniques for interconnecting computers and peripherals for decentralized Computer. Network components, digital communications, interconnection architectures, communications protocols for geographic and local area networks and interprocess communications are covered. Prerequisite: CS 463. Credit 3.

CS 564 Programming Languages. A comprehensive study of computer programming languages. Topics include: language design principles, formal grammars, procedural operating environment, language standardization, and language support for parallel and distributed programming. Language paradigms to be discussed will include procedural programming, logical programming, functional programming, and object-oriented programming. Prerequisite: CS 482. Credit 3.

CS 566 Database Systems. A survey of contemporary topics in database systems. Topics include: relational database theory, database design issues, cryptography, security integrity issues, data recovery, concurrency problems, optimization, distributed database systems, the client/server model, object-oriented databases, stenography, data compression, data warehouse, data mining, logic/knowledge based systems, and other related topics. Prerequisite: CS 334. Credit 3.

CS 568 Cryptography and Steganography.* This course is designed to cover the theoretical and practical aspects of cryptography and steganography including specification, design, and programming. Topics include digital signatures, symmetric and asymmetric (public key) algorithms, hash functions, cryptographic algorithms, cost to break algorithms including key safety, Diffie-Hellmann, RSA, key stores, Secure Socket Layers, Virtual Private Networks (VPN), Certificate Authorities, and important cryptanalysis and stegananalysis strategies. Prerequisites DF 561 or departmental approval. Credit 3.

CS 582 Artificial Intelligence. A survey of topics in artificial intelligence. Topics include: history of AI, knowledge representation, knowledge acquisition, search techniques, control strategies, and AI languages. Applications include natural language processing, neural nets, and expert systems. Prerequisite: CS 362. Credit 3.

CS 583 Neural Networks. An introduction into Neural Networks. Topics include discussion of variety of standard neural networks, with architecture, training algorithm, and applications; and development of neural network expert systems. Prerequisite: CS 362. Credit 3.

CS 584 Data Structures . A number of important concepts and algorithms, with emphasis on correctness and effi ciency, are reviewed. The advanced treatment of sorting, searching, hashing, and dynamic storage management is provided. Advanced data structures, such as advanced tree structures, graphs, and networks, are introduced. Applications to distributed file structures, database management systems, internet/intronetworks are covered. Prerequisite: CS 362. Credit 3.

CS 583 Educational Multimedia.* This course explores the uses of multimedia in the classroom and extends the teachers skill base in the development of appropriate multimedia examples to support and enhance the middle school and high school curricula. Throughout the course students will gain experience in still and motion digital editing, audio and animation production. This course may not be counted toward the M.S. in Computer Science, Information Assurance and Security or Digital Forensics. Prerequisite: Graduate standing. Credit 3.

CS 585 Critical Analysis of Instructional Software.* This course examines the instructional and educational value of commercially available software for the pre-k through 12th grade. The course builds upon a foundation of instructional theory to identify appropriate characteristics of instructional software and explores the effectiveness of instructional software in the classroom. This course may not be counted toward the M.S. in Computer Science, Information Assurance and Security or Digital Forensics. Prerequisites: CS 583. Credit 3.

CS 587 Designing Instructional Materials for the Web.* This course examines the development of web sites for instructional purposes. The course looks at the systematic design of instruction, a process that examines the development of appropriate course goals, the identification of measurable objectives that meet those goals and intelligent approaches to assessing student performance. This design approach is then applied to the development of web-based materials, providing opportunities for skills acquisition in a variety of multimedia applications and their incorporation into a web site. The course culminates in the development of a geometry web site for use in schools. This course may not be counted toward the M.S. in Computer Science, Information Assurance and Security or Digital Forensics. Prerequisites: CS 585. Credit 3.

CS 589 Development of Technology Infrastruction in School.* This course examines the funding, design and implementation processes required to establish and realize a coherent technology acquisition and management strategy. This course may not be counted toward the M.S. in Computer Science, Information Assurance and Security or Digital Forensics. Prerequisites: Graduate standing. Credit 3.

CS 593 Modeling Theory. This course is a study of the use of analytical models as aids in the formulation and resolution of system alternatives. Emphasis is on problem definition, formulation and resolution using appropriate mathematical methodologies and analysis software packages. Prerequisites: MTH 379 and CS 477. Credit: 3.

CS 661 Network Security II.* This course extends the practical skills and basic concepts provided in Network Security I to provide experience and skills in intrusion detection, management and prevention alongside the theoretical and conceptual basis for secure communication and perimeter defense in depth. The course explores the capabilities and limitations of ‘best practices’ approaches to network security together with significant case studies to provide the commercial an industrial context for the network security professional. Prerequisites: DF 561. Credit 3.

CS 694 Numerical Analysis. Topics include solutions of equations, approximation and interpolation, numerical differentiation and integration, the fast Fourier transform, and numerical simulation. Also listed as MTH 694. Prerequisite: MTH/CS 394. Credit 3.

CS 698, 699 Thesis. Credit 3 hours for each course.

* Subject to action by the Texas Higher Education Coordinating Board.