Department of Computer Science
The Bachelor of Science in Computing Science is accredited by the Computing Accreditation Commission of ABET.
Sam Houston State University is designated as a National Center of Academic Excellence in Cyber Defense Education (CAE-CDE) for the B.S. Degree in Computing Science, concentration in Information Assurance (IA), by the National Security Agency (NSA) and the Department of Homeland Security (DHS).
Chair:Dr. Bing Zhou (936) 294-1590
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.
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.
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. Students can elect to concentrate in Computing Science, Information Systems, or Information Assurance.
The Bachelor of Science in Software Engineering is designed to provide the skills and competencies required by students wishing to prepare for careers in software development.
The Bachelor of Science in Cybersecurity 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.
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 virtualization facilities. As part of its operations, the department of Computer Science houses the Sam Houston State University Cyber Forensics Intelligence Center (CFIC), a center dedicated to the development of digital forensics training for law enforcement personnel and research opportunities into forensics and security issues.
Computing professionals support many scientific, governmental, and commercial enterprises though network and communication systems management, application (computer programs) 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 Computing Science has the following program-specific requirements:
|MATH 1420||Calculus I||4|
|MATH 1430||Calculus II||4|
|MATH 2395||Discrete Mathematics||3|
|STAT 3379||Statistical Methds in Practice||3|
The student chapter ACM@SHSU 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 student chapter sponsors field trips, campus visits by guest speakers, and occasional student/faculty outings.
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.
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.
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 focuses on design, implementation, and re-usability of computer programs with abstract data types. Fundamentals of object-oriented design and programming paradigms are also emphasized. Course contents may include basic abstract data types such as List, Stack, and Queue, introduction to algorithm analysis, searching and sorting, graph-related abstract data types. A two-hour lab-based component is required for students to practice computer programming in more than one programming environment.
Prerequisite: COSC 1436.
COSC 2327. Intro to Computer Networks. 3 Hours.
Students are introduced to installation, usage, and management of computer hardware and operating systems for business. Topics may 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.
Students are introduced to instruction set architectures, emphasizing central processor organization and operations. Specific topics may 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 are 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.
Students engage in an in-depth study of a programming language used to implement information systems. Real time components, visual techniques, and artificial intelligence are 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.
Student study 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 as MATH 3394.
Prerequisite: COSC 1436 and MATH 1430 or consent of instructor.
COSC 3318. Data Base Management Systems. 3 Hours.
Students explore 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.
Student are introduced to 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.
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 may 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 are stressed along with the hardware's interaction with operating systems.
Prerequisite: COSC 2329.
COSC 3331. Human-Computer Interaction. 3 Hours.
Students are provided a comprehensive introduction to the principles and techniques of human-computer interaction. Students examine 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 4050. Independent Study. 1-3 Hours.
Students conduct individual research on specific topics that are not covered in the current Computer Science undergraduate curriculum. Each student will participate in comprehensive research activities with a faculty member who is specialized in the student's interest area. Therefore, the course content will vary based upon the topic that both the student and the mentoring faculty member choose. Students' performance will be evaluated based on their research progress and output. Variable Credit (1 to 3).
Prerequisite: Consent of the instructor.
COSC 4149. Seminar in Computer Science. 1 Hour.
Students 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.
Students are provided 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 may 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.
Students study the design and implementation of assemblers, interpreters and compilers. Topics may 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.
Students study 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 student?s 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 course 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 are 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.
Students examine 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 may include 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.
Students are introduced to 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.
Students examine 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. Students address 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.
Students examine 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. Students also explore 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 online 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 1333. Digital Life. 3 Hours.
Students address the various roles of computational technology in society that both underpin and shape economic, scientific, political, leisure, and social activity. Emphasis is placed on the importance of digital literacy, digital citizenship, digital creativity, and ethics and law.
CSTE 2330. Multimedia Technologies. 3 Hours.
Students examine the use of modern multimedia tools in the production of professional communication materials. Students specifically examine 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.
Students explore the concepts and techniques associated with the development of modern dynamic Web sites. Topics covered may include web design fundamentals, modern web development tools, style sheets, markup languages, accessibility, session management, interactive communication and security. In addition, students examine 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.
Students explore web server technologies associated with the server components, web scripts, web forms, and dynamic interactive features.
Prerequisite: CSTE 3330.
DFSC 1316. DF and IA Fundamentals I. 3 Hours.
Students are introduced to the fundamentals of Digital Forensics (DF) and Information Assurance (IA) technologies. Topics may 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.
Students focus on Digital Forensics (DF) and Information Assurance (IA) processes and methodologies. Topics may 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 are discussed.
Prerequisite: DFSC 1316.
DFSC 2320. Hardware Forensics. 3 Hours.
Students explore techniques in the duplication, recovery, and restoration of digital evidence, which 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.
Students study both the theory and practice of cryptography and computer and network security, and focus on the security aspects of the web and the internet. Students survey cryptographic tools used to provide security, such as shared key encryption, public key encryption, key exchange, and digital signature algorithms. In addition, students review 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 are also discussed.
Prerequisite: DFSC 2316 and MATH 2395 .
DFSC 3320. Digital Forensics Tools. 3 Hours.
Students explore 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 may 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 4050. Independent Study. 1-3 Hours.
Students conduct individual research on specific topics that are not covered in the current Digital Forensics undergraduate curriculum. Students participate in comprehensive research activities with a faculty member who is specialized in the students' interest area. Therefore, the course content varies based upon the topic that both the students and the mentoring faculty member choose. Students' performance will be evaluated based on their research progress and output. Variable Credit (1 to 3).
Prerequisite: Consent of the instructor.
DFSC 4317. Information Security. 3 Hours.
Students are provided an introduction to basic security needs. Course topics may include, but are not 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.
Students focus on analyzing, dissecting, debugging, and reverse-engineering malicious software. Topics may 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.
Student are provided 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.
Students examine the philosophies, targets, and tactics of organizations involved in the development of cyber offensive and defensive capabilities. Topics may 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.
Director/Chair: Bing Zhou
Min Kyung An, PHD, Associate 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 A&M 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, 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, Department of Computer Science, PHD, Univ of Missouri-Columbia; MA, Univ of Missouri-Columbia; BS, Open University; DIPED, Univ of London Inst of Educ
William B Glisson, PHD, Associate Professor of Computer Science, Director of SHSU Ctr of Exc in DF, Department of Computer Science, PHD, University of Glasgow; MSC, University of Strathclyde; BS, Univ of N Carolina-Greensboro
ABM Rezbaul Islam, PHD, Assistant Professor of Computer Science, Department of Computer Science, PHD, Univ of North Texas; MS, Ajou University; BSC, Skakjalal Univ of Sci & Techno
Li-Jen Yu Lester, EDD, Associate Professor of Computing Science; Acting Assoc Dean COSET, 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
Amar Adnan Rasheed, PHD, Assistant Professor of Computer Science, Department of Computer Science, PHD, Texas A&M University; MS, Northeastern Illinois Univ
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 A&M University; MS, Oklahoma State University; BS, Texas A&M 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, Associate Professor and Chair of Computer Science, Department of Computer Science, PHD, University of Regina; MS, University of Regina; BS, Shandong Univ of Technology