Department of Computer Science

This is an archived copy of the 2017-2018 catalog. To access the most recent version of the catalog, please visit catalog.shsu.edu.

The Bachelor of Science in Computing Science is accredited by the Computing Accreditation Commission of ABET http://www.abet.org

Chair: Peter A. Cooper   (936) 294-1569

Websites: Computer Science: http://cs.shsu.edu/ ; Digital Forensics: http://df.shsu.edu

Mission

The Department of Computer Science is a community of faculty, staff, and students, centered in the computer science disciplines. The Department of Computer Science is dedicated to providing the highest quality education possible to its graduate and undergraduate students through excellence in teaching and excellence in research. The department is committed to furthering the pursuit of knowledge and meeting the needs of a diverse society.

The Department of Computer Science seeks to provide an environment that encourages innovative thinking, academic rigor, and the pursuit of scholarship in an atmosphere that promotes high ethical and moral values and mutual respect, embracing diversity and working towards a goal of instilling a life-long love of learning.

Academic Programs

The Computing Science program offers major study plans for students wishing to pursue careers in industry or government (as programmers/analysts/software engineers, as network and database administrators, and as digital forensics and information security professionals) or to prepare for advanced studies at the graduate level. Minor study plans are offered which can be tailored to the needs of students majoring in almost any field. A plan leading to secondary teacher certification in Computer Science is also offered.

The Bachelor of Science in Computing Science at Sam Houston State University has been accredited by the Computing Accreditation Commission of ABET, Inc., the recognized accreditor of college and university programs in applied science, computing, engineering, and technology. ABET accreditation demonstrates a program’s commitment to providing its students with a quality education.   Student can elect to concentrate in Software Engineering, Information Systems, or Information Assurance and Security.

The Bachelor of Science in Computer Software Engineering Technology is designed to provide the skills and competencies required by students wishing to prepare for careers in software development. 

The Bachelor of Science in Digital Forensics Engineering Technology prepares students for professional work in business and industry, as well as government and law enforcement, as a digital forensic analyst; including the collection. preservation, analysis, and reporting of digital evidence. 

Highlights

Sam Houston State University provides a comprehensive computing environment for students. The Office of Information Technology Services operates a large number of computing laboratories containing desktop computers, and workstations. A variety of operating systems, network protocols, programming languages, and application packages are available. Students have full access to the Internet and E-mail facilities when on campus and through remote access facilities from off-campus. In addition to the institutional facilities, the Department of Computer Science operates a range of lab facilities to support its mission and programs, including network robotics and Unix/Linux labs, a data recovery lab and a network security lab. The department operates a 40-node symmetric multiprocessing system for use in parallel processing, digital forensics, cryptanalysis, and steganographic research. The department also has access to state-of-the-art visualization facilities. As part of its operations, the department of Computer Science houses the Sam Houston State University Center of Excellence in Digital Forensics, a center dedicated to the development of digital forensics training for law enforcement personnel and research opportunities into forensics and security issues.

Career Opportunities

Computing professionals support many scientific, governmental, and commercial enterprises though network and communication systems management, application (computer program) development and maintenance, and hardware design. The management of computing resources within organizations is typically a mission critical activity and computing professionals occupy key organizational roles as network and database administrators, software engineers, systems analysts, and programmers. Of key concern in today’s modern environment is the protection, assurance, and recovery of computing resources, providing opportunities for those wanting to work in the information assurance and digital forensics fields.

Program Specific Requirements

The baccalaureate degree in Computer Science has the following program specific requirements:

Mathematics

Course Requirements
MATH 1420Calculus I4
MATH 1430Calculus II4
MATH 2395Discrete Mathematics3
Advanced MATH/STAT3
STAT 3379Statistical Methds In Practice3
Total Hours17

Science

The specific requirements of 16 hours include: four 4-hour (3 hours lecture + 1 hour lab) courses in natural sciences, among which two 4-hour natural sciences courses also satisfy the requirement for Component Area III of Core Curriculum.

Student Organizations

The Sam Houston Association of Computer Scientists (SHACS) provides a learning environment through speakers and special projects that unite students, professors, and industry professionals. These relationships help promote the sharing of knowledge and skills related to computer science. The club sponsors field trips, campus visits by guest speakers, and occasional student/faculty outings. Further information can be found in the organization's webpage at http://www.shsu.edu/~org_shacs/ .

Internships

While the Computer Science department does not operate internships as  a designated part of its degree programs, a number of students have been successful in obtaining internships with the FBI, Austin Department of Public Safety, and a number of commercial organizations.

Scholarships

The Department of Computer Science offers the following scholarships:

  • The Computer Science Scholarship: awarded to full-time undergraduate students working toward a degree in Computer Science with an overall GPA above 3.0.
  • The Johnny Cook Kelly Memorial Scholarship: awarded to full-time undergraduate computer science majors with a preference given to students from Walker County.

Each of these scholarships requires a minimum GPA of 3.0 and registration in courses leading to a degree in Computer Science. Other criteria are also pertinent to individual scholarships. More information can be obtained through the department.

Computer Science

COSC 1436. Programming Fundamentals I. 4 Hours.

This course is an introduction to programming. Topics include fundamental concepts of computer programming and software development methodology, including data types, control structures, functions, arrays, and the mechanics of programming running, testing, and debugging. The development of procedures and the writing and testing of programs to implement them are emphasized. This course includes a 2-hour lab-based component. This course assumes a general familiarity with computers.
Prerequisite: Grade of C or better in MATH 1410, MATH 1314, or MATH 1316, basic keyboarding, and PC skills.

COSC 1437. Programming Fundamentals II. 4 Hours.

This course is a continuation of COSC 1436 and emphasizes the relationships between the data objects in computer programs. The use of control structures and data types is reviewed, with emphasis on structured data types. An object-oriented programming paradigm is used, focusing on the definition and use of classes along with the fundamentals of object-oriented design. The course includes basic analysis of algorithms, searching and sorting techniques, and an introduction to software engineering. This course includes a 2-hour lab-based component.
Prerequisite: COSC 1436.

COSC 2327. Intro to Computer Networks. 3 Hours.

Installation, usage, and management of computer hardware and operating systems for business. Topics include scripting, macros, intelligent agents. Installation and management of networks, the Internet, and communications software is covered.
Prerequisite: COSC 1436.

COSC 2329. Comp Organiz & Machine Lang. 3 Hours.

An introduction to instruction set architectures, emphasizing central processor organization and operations. Specific topics include data representations, register architectures, addressing modes, the fetch/ execute cycle; interrupts, subprogram calls, I/O services, digital logic gates and basic Boolean algebra, and sequential and combinational circuits. Programs will be assigned in a representative assembly language to explore these areas.
Prerequisite: COSC 1437 (may be taken concurrently).

COSC 2340. Special Topics in Computer Sci. 3 Hours.

Topics and courses are selected to suit individual needs of students. The course may be repeated for additional credit as long a different topic is covered.
Prerequisite: COSC 1436.

COSC 2347. Special Topics/Programming. 3 Hours.

In-depth study of a programming language used to implement information systems. Real time components, visual techniques, and artificial intelligence will be utilized as appropriate. This course may be repeated for credit with the approval of the undergraduate advisor. A different language must be covered to receive approval for repeat credit.
Prerequisite: COSC 1437.

COSC 3312. Numerical Methods. 3 Hours.

This course develops the concepts underlying the use of the computer for interpolation, approximations, solutions of equations and the solution of both linear and nonlinear systems equations. Mathematical software and/or user written programs are utilized. Also offered asMATH 3394.
Prerequisite: COSC 1436 and MATH 1430 or consent of instructor.

COSC 3317. Game Programming and Design. 3 Hours.

This course is an introduction to game programming. Topics covered include: different game genres; issues in game programming; storyboarding; etc. This course covers the basic elements of 2D games. This course is designed to give a strong introduction to the basics of game programming: graphics, sound, and input.
Prerequisite: COSC 2329.

COSC 3318. Data Base Management Systems. 3 Hours.

This course emphasizes the design of information systems using database software and query language/programming interfaces. Data warehouse concepts are introduced. Legacy systems, LAN and distributed systems based systems are used to give the student hands-on experience in systems development.
Prerequisite: COSC 1437 .

COSC 3319. Data Structures and Algorithms. 3 Hours.

Introductory treatments of such topics as orthogonal lists, strings, arrays, linked lists, multilinked structures, indexed and direct files, and generalized data management and database management systems.
Prerequisite: COSC 1437 or MATH 1430.

COSC 3321. Digital System Design. 3 Hours.

This course is an introduction to Boolean Algebra and graph theory with emphasis on their applications in the design of digital computer software and hardware. Logic systems are designed and analyzed.

COSC 3327. Computer Architecture. 3 Hours.

This course is a continuation of COSC 2329, exploring computer organization and architectures in more depth and breadth. Specific topics include milestones in the philosophy of computer design, Karnaugh maps for circuit minimization, memory types and organization, caching, pipelining, micro-architectures, parallel architectures, I/O devices, buses and bus protocols. Throughout the course, physical and performance considerations will be stressed along with the hardware's interaction with operating systems.
Prerequisite: COSC 2329.

COSC 3331. Human-Computer Interaction. 3 Hours.

This course presents a comprehensive introduction to the principles and techniques ofhuman-computer interaction. The course examines the event-driven model through the development of applications utilizing graphical design environments and the use of rapid application prototyping to explore a variety of techniques for HCI, particularly in relation to mobile and other non-traditional devices.
Prerequisite: COSC 1437.

COSC 3332. Game Programming and Design. 3 Hours.

(Prior Course ID: CS 378); This course allows those students who desire to learn more about game programming to apply what they have learned in their foundation courses in that area. Gaming is a compelling way to motivate students to learn challenging technical concepts such as programming, software engineering, algorithms, and project management.
Prerequisite: COSC 2329.

COSC 3337. Infor Sys Design & Management. 3 Hours.

This is a course in the design and implementation of large-scale file and persistent object-based information systems. Client/server systems are covered.
Prerequisite: COSC 2347.

COSC 4149. Seminar in Computer Science. 1 Hour.

Students in this course learn fundamental ideas of emerging technologies and their real-life applications in ever-evolving software and hardware computing environments. The content of the course may vary from semester to semester, but will include current trends, issues, and professional skills.
Prerequisite: Senior standing in Computer Science.

COSC 4314. Data Mining. 3 Hours.

This course provides an introduction to the newly-emerging field of data mining. Data mining is concerned with the automatic extraction of novel information and knowledge from large amounts of data in practical real world problems. Topics will include fundamental concepts, data preparation and feature selection, standard data mining algorithms (including but not limited to association, classification, clustering, and prediction), and applications and evaluation of data mining techniques.
Prerequisite: COSC 3318 and COSC 3319.

COSC 4316. Compiler Design & Construction. 3 Hours.

This course deals with the design and implementation of assemblers, interpreters and compilers. Topics include symbol tables, lexical scanning, syntactic analysis, object code generation and storage allocation. Programming assignments will involve implementation of functional components of a translator.
Prerequisite: COSC 2329 and COSC 3319.

COSC 4318. Advanced Language Concepts. 3 Hours.

This course emphasizes programming languages which support the Object-Oriented Programming (OOP) paradigm. Programming assignments are used to illustrate the features and weaknesses of the language and to develop the studentis proficiency in the use of OOP technology.
Prerequisite: 3 advanced hours of COSC.

COSC 4319. Software Engineering. 3 Hours.

This course is an introduction to formal methods of specifying, designing, implementing and testing software for large programming projects. Methods of estimating and predicting reliability are discussed.
Prerequisite: 6 advanced hours of COSC and COSC 3318.

COSC 4320. System Modeling and Simulation. 3 Hours.

This is an introduction to modeling and simulation for analysis of computer software and hardware. Application of simulation analysis to design and development of computer software and systems including modeling of computer and software components will be discussed. Design, coding and use of discrete event simulation software will be covered.
Prerequisite: 6 advanced hours COSC and MATH 3379.

COSC 4326. Network Theory. 3 Hours.

This course examines the theoretical basis for data communication together with an examination of the structures and protocols associated with the control of error, congestion and routing. The course includes an examination of network administration fundamentals and socket programming in client-server applications.
Prerequisite: 6 advanced hours of COSC.

COSC 4327. Computer Operating Systems. 3 Hours.

This course is concerned with software organization of computer systems. It is intended to bring together the concepts and techniques of programming languages, data structures and computer organization by considering their role in the design of general computer systems. The problems which arise in multi-accessing, multiprogramming, and multiprocessing are emphasized.
Prerequisite: COSC 3327 and COSC 3319.

COSC 4332. Computer Graphics. 3 Hours.

This course introduces graphical APIis used in developing graphical user interfaces and multimedia applications. Topics covered are selected from the PHIGS, Windows, Presentation Manager, X-Windows, digital video and other appropriate technologies.
Prerequisite: 6 advanced hours of COSC.

COSC 4337. Digital Signal Processing. 3 Hours.

This course examines the nature of signal processing and its application to real-world applications such as speech synthesis, video processing, genomics, and biomedical signal processing, and distributed sensor networks. The course addresses theoretical, algorithmic and practical issues.
Prerequisite: COSC 3327.

COSC 4340. Spc Tpcs In Computer Sci. 3 Hours.

Topics of general interest are offered on a timely basis. Previous topics include Cognitive Computing, Embedded Linux Systems, Visual Graphics/Component Systems. Variable Credit (1-3). advanced COSC and senior standing.
Prerequisite: 6 hrs.

COSC 4349. Professionalism and Ethics. 3 Hours.

This course examines the nature, need and value of well-formed ethical constructs within the digital forensics profession. Included in this course is a discussion, through case studies, of the nature of professionalism, personal and professional codes of ethics and conduct, and the professional handling of ethical and moral conflict. The course also explores the role of the professional in public policy and the awareness of consequences of ethical dissent and whistle blowing.
Prerequisite: Senior standing.

Computer Science Technology

CSTE 1330. Introduction To Computers. 3 Hours.

This is a computer literacy course. Basic computing concepts are presented. Assignments provide a hands-on experience in using microcomputer applications. Multimedia and the Internet are introduced. May not be taken for credit toward a CS major or minor. This course may be taken as a classroom based course or as an Independent Study/Internet course.

CSTE 1331. Visual Computing. 3 Hours.

This course is an introduction to programming using the visual paradigm, aimed at students with little or no background in programming. The core notions of problem solving through programming are introduced, following an object-oriented approach to visual programming.

CSTE 2330. Multimedia Technologies. 3 Hours.

TThis course examines the use of modern multimedia tools in the production foof professional communication materials. The course specifically examines multi-platform image, sound and video editing tools, CD/DVD, wiki and podcast production tools as well as supporting web-publishing tools and scripting techniques for the purpose of enriching the professional communication environment. May not be taken for credit toward a COSC major or minor.

CSTE 3330. Web Technologies. 3 Hours.

This course explores the concepts and techniques associated with the development of modern dynamic Web sites. Topics covered include web design fundamentals, modern web development tools, style sheets, markup languages, accessibility, session management, interactive communication and security. The course also examines a number of Web 2.0 technologies that support blog, wiki and social networking applications.
Prerequisite: CSTE 2330.

CSTE 4330. Web Server Technologies. 3 Hours.

This course explores web server technologies associated with the server components, web scripts, web forms, and dynamic interactive features.
Prerequisite: CSTE 3330.

Digital Forensics

DFSC 1316. DF and IA Fundamentals I. 3 Hours.

This course introduces students to the fundamentals of Digital Forensics (DF) and Information Assurance (IA) technologies. Topics include basics of DF and IA, numbering systems, logic, Boolean operations, network packets, OSI layers, TCP/IP protocols, basic scripting and compiled languages, and basics of hardware and file system forensics.

DFSC 2316. DF and IA Fundamentals II. 3 Hours.

This course focuses on Digital Forensics (DF) and Information Assurance (IA) processes and methodologies. Topics include preparation of the investigator, proper acquisition of evidence, authentication, analyzing data without modifying it, reporting findings, and risk assessment of evidence. In addition, current methodologies such as cryptography and network security, Internet programming, smartphone forensics, network forensics, and cloud forensics will be discussed.
Prerequisite: DFSC 1316.

DFSC 2320. Hardware Forensics. 3 Hours.

Techniques in the duplication, recovery and restoration of digital evidence. Includes hard disks, floppy drives, CD formats, DVD formats, zip drives, mobile phones, PDA?s smart cards, memory technologies, and other devices capable of storing digital information.
Prerequisite: DFSC 1316.

DFSC 3316. Cryptography and Network Scrty. 3 Hours.

This course involves the study of both the theory and practice of cryptography and computer and network security, and focuses on the security aspects of the web and the internet. It surveys cryptographic tools used to provide security, such as shared key encryption, public key encryption, key exchange, and digital signature algorithms. It then reviews how these tools are used in the current Internet protocols and network security applications, including wireless network protocols. System security issues, such as viruses, worms, intrusion, and firewalls will also be discussed.
Prerequisite: DFSC 2316 and MATH 2395 .

DFSC 3320. Digital Forensics Tools. 3 Hours.

This course explores tools for the recovery of information on protected or damaged hardware for the purpose of providing evidence of misuse or abuse of systems. Topics also include the chain of evidence, protocols for data recovery, cryptographic analysis, password recovery, the bypassing of specific target operating systems, and obtaining data from digital devices that have been damaged or destroyed.
Prerequisite: DFSC 1316.

DFSC 4317. Information Security. 3 Hours.

This course provides an introduction to basic security needs. The course will include, but not be limited to individuals vs. government privacy issues, federal encryption standards, the different layers of security currently available, the practical application of user level and system level cryptography, and strategies for evaluation and selection of security methods.
Prerequisite: DFSC 2316 and 3 advanced DFSC hours.

DFSC 4318. Malware. 3 Hours.

This course focuses on analyzing, dissecting, debugging, and reverse-engineering malicious software. Topics include conventional and advanced static and dynamic analysis of malware in a virtual environment using disassemblers, debuggers, packers/unpackers and virtual machine tools.
Prerequisite: DFSC 3320 and a basic knowledge of the C programming language, fundamentals of x86 disassembly and Windows programming are required.

DFSC 4319. Principles of Data Quality. 3 Hours.

This course provides a rigorous exploration of data quality concepts, assessment techniques, and problems in organizational information systems, databases, and data warehouses. A combination of state-of-the-art literature review and hands-on projects is used to develop knowledge and ability to analyze and clean the data.
Prerequisite: 6 advanced COSC/DFSC hours.

DFSC 4338. Cyber Warfare. 3 Hours.

This course examines the philosophies, targets, and tactics of organizations involved in the development of cyber offensive and defensive capabilities. Topics include emerging cyber warfare trends and the role of the private sector and the U.S. government in identifying, protecting, detecting, responding to, and recovering from cyber warfare threats.
Prerequisite: DFSC 4318.

DFSC 4340. Spcl Tpcs In Digital Forensics. 3 Hours.

Topics of general interest are offered on a timely basis. Previous topics include DC3 Challenge.
Prerequisite: 6 advanced hours of DFSC and senior standing.

Chair: Peter A. Cooper

Min Kyung An, PHD, Assistant Professor of Computer Science, Department of Computer Science, PHD, Univ of Texas At Dallas; MS, Univ of Texas-Arlington; BS, Jeju National University

David S. Burris, PHD, Professor of Computing Science, Department of Computer Science, PHD, Texas AM University; MA, Texas State Univ-San Marcos; BS, Texas State Univ-San Marcos; BS, Texas State Univ-San Marcos

Lei Chen, PHD, Associate Professor of Computer Science, Department of Computer Science, PHD, Auburn University; BENGR, Nanjing Univ of Technology

Hyuk Cho, PHD, Associate Professor of Computing Science, Department of Computer Science, PHD, Univ of Texas At Austin; MS, Univ of Texas At Austin; MA, Korea University; BE, Chonbuk National University

Peter A. Cooper, PHD, Professor of Computing Science and Chair, Department of Computer Science, Department of Computer Science, PHD, Univ of Missouri-Columbia; MA, Univ of Missouri-Columbia; BS, Open University; DIPED, Univ of London Inst of Educ

Umit Karabiyik, PHD, Assistant Professor of Computer Science, Department of Computer Science, PHD, Florida State University; MS, Florida State University; BS, Sakarya University

Li-Jen Yu Lester, EDD, Associate Professor of Computing Science, Department of Computer Science, EDD, Sam Houston State University; MA, Sam Houston State University; BS, Tahan Institute of Technology

Qingzhong Liu, PHD, Associate Professor of Computer Science, Department of Computer Science, PHD, New Mexico Inst/Mining/Tech; ME, Sichuan University; BE, Northwestern Polytechnic Univ

Timothy J Mc Guire, PHD, Associate Professor of Computing Science, Department of Computer Science, PHD, Texas AM University; MS, Colorado State University; BS, Letourneau University

Khaled Mohamed Rabieh, PHD, Assistant Professor of Computer Science, Department of Computer Science, PHD, Tennessee Tech University; MSC, Nile University; BSC, Ain Shams University

Narasimha Karpoor Shashidhar, PHD, Associate Professor of Computer Science, Department of Computer Science, PHD, Univ of Connecticut; MS, Univ of Connecticut; BE, University of Madras

Gary W. Smith, PHD, Associate Professor of Computing Science, Department of Computer Science, PHD, Texas AM University; MS, Oklahoma State University; BS, Texas AM University

Donggil Song, PHD, Assistant Professor of Computer Science, Department of Computer Science, PHD, Indiana University; MS, Seoul National University; BA, Seoul National University

Cihan Varol, PHD, Associate Professor of Computing Science, Department of Computer Science, PHD, Univ of Arkansas-Little Rock; MS, West Virginia University; BSC, Firat University

Mingkui Wei, PHD, Assistant Professor of Computer Science, Department of Computer Science, PHD, North Carolina State Univ; ME, Southeast University; BE, Nanjing Univ of Science Tech

Bing Zhou, PHD, Assistant Professor of Computer Science, Department of Computer Science, PHD, University of Regina; MS, University of Regina; BS, Shandong Univ of Technology

Interim Faculty

Lori P Aden, EDD, Lecturer of Computer Science, Department of Computer Science, EDD, Walden University; MED, Univ of Texas-Brownsville; BBA, Sam Houston State University

Kirk A Burns, MS, Lecturer of Computer Science, Department of Computer Science, MS, Sam Houston State University; BS, Sam Houston State University

Jiahuang Ji, PHD, Associate Professor of Computing Science, Department of Computer Science, PHD, Univ of Houston-Main; MS, Nanjing Univ of Technology; BS, Huazhong Univ of Science Techn

Hacer Varol, MS, Lecturer of Computer Science, Department of Computer Science, MS, Univ of Arkansas-Little Rock; BSC, Firat University