Computer Science and Information Systems

Andrea Graham (Associate Dean)
Location: AG/ET Building, Room 111, 903-886-5442, Fax 903-886-5404
General Information: Brittani.Fasci@tamuc.edu
Computer Science and Information Systems Web Site

The Department of Computer Science and Information Systems offers two academic programs, the Bachelor of Science (B.S.) with a major in Computer Science, Bachelor of Science (B.S.) with a major in Cybersecurity (RELLIS Campus in Bryan, Texas only), and the Bachelor of Science in Computer Information Systems (B.S.C.I.S.).

The Bachelor of Science with a major in Computer Science degree prepares the student for a wide variety of applications found within the diverse computer science field. Students complete a core of computer science foundation courses and advanced courses such as networking, database management, programming, or information assurance and security. This curriculum prepares students for a broad range of careers, such as systems analyst, application software developer, software engineer, computer engineer, technical writer, system designer, security administrator, computer security specialist, database administrator, network administrator, network security specialist, simulation/modeling developer, and graphics/animation developer.

The Bachelor of Science degree program in Cybersecurity prepares individuals to assess the security needs of computer and network systems, recommend safeguard solutions, and manage the implementation and maintenance of security devices, systems, and procedures. Includes instruction in computer architecture, programming, and systems analysis; networking; telecommunications; cryptography; Internet of Things (IoT); security system design; applicable law and regulations; risk assessment and policy analysis; contingency planning; user access issues; investigation techniques; and troubleshooting.  This program is only offered at the Texas A&M System RELLIS campus in Bryan, Texas.

The graduates with a B.S. in Cybersecurity will attain the following STUDENT OUTCOMES:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply security principles and practices to maintain operations in the presence of risks and threats. 

Cybersecurity graduates are expected to attain within a few years of graduation the following

PROGRAM EDUCATIONAL OBJECTIVES.

PEO #1:  Establish themselves as professionals in a cyber-related career

PEO #2: Excel as professionals capable of providing technical as well as professional expertise to their organization, profession and/or support community.

PEO#3: Engage in lifelong learning and professional development to remain current and competent, or pursue advanced study in cyber-related field.

The Bachelor of Science in Computer Information Systems degree prepares the student for a wide variety of applications found within the diverse computing and information technology field. Students complete a core of computer information systems foundation courses and an emphasis is given in one of the following areas: Networking, Database Management, or Programming or Information Assurance and Security. This curriculum prepares students for a broad range of careers, including systems analyst, database programmer, database administrator, network administrator, business applications developer, technical writer, and systems designer.

This department also offers a Bachelor of Science in Computer Information Systems degree with secondary teacher certification in Computer Science for persons interested in teaching computer science at the secondary school or community college level. In addition, the department offers second majors in computer science and computer information systems, as well as a minor in computer science, so that students may acquire computer science fundamentals relevant to their respective academic majors.

Students will be trained on modern equipment having wide industry acceptance in areas such as operating systems, communications, database, simulation, networks, information security, and programming languages. Students also have access to a variety of laboratory and microcomputer equipments.

Graduates of the Bachelor of Science in Computer Science at Texas A&M University–Commerce will…

  • be able to analyze, design, implement and evaluate computer based solutions.
  • be able to demonstrate an understanding of the global and local societal impact of computing, including professional, ethical and social responsibilities.
  • be able to communicate, collaborate and present computing solutions using current technology in an effective and professional manner.
  • be able to engage in continuing professional development and lifelong learning.

Computer Science at Texas A&M University–Commerce emphasizes the application of scientific concepts and the principles required in the computing industry as well as current and future sustainable technologies.

The graduates with a B.S. in Computer Science will attain the following STUDENT OUTCOMES:

1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.

2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.

3. Communicate effectively in a variety of professional contexts.

4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.

5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.

6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

Computer Science graduates are expected to attain within a few years of graduation the following

PROGRAM EDUCATIONAL OBJECTIVES.

Program Educational Objective#1 (PEO1): will demonstrate an understanding of the need for professional growth and life-long learning.

Program Educational Objective#2 (PEO2): will continue to develop strong written and oral communication skills.

Program Educational Objective#3 (PEO3): will be effective in applying principles of computing and mathematics toward the solution of a wide variety of problems.

Program Educational Objective#4 (PEO4): will be able to utilize principles of information integrity and security, and to apply ethical computing concepts and practices.

Program Educational Objective#5 (PEO5): will be able to work effectively in a diverse global community.

Program Educational Objective#6 (PEO6): will readily adapt to changing technology.

Program Educational Objective#7 (PEO7): will function effectively and provide leadership and teamwork in a variety of scientific, engineering, and business environments.

Students seeking a bachelor’s degree in any of the department majors must complete:

  1. Degree requirements for a Bachelor of Science in Computer Science or Bachelor of Science in Computer Information Systems, and
  2. Core Curriculum Requirements (refer to those sections of this catalog).

In addition, courses in the major that must be completed can be found in the program page.

Teacher Education Program

Students seeking a bachelor’s degree in the following teacher education program must also complete:

  1. Degree requirements for a Bachelor of Science in Computer Information Systems degree with secondary certification (refer to the bachelor’s degree requirements section of this catalog),
  2. Core Curriculum Requirements (refer to that section of this catalog),
  3. Requirements for admission to and retention in the Teacher Education Program (refer to the Center for Educator Certification and Academic Services section of this catalog), and
  4. Professional development courses (refer to the Department of Curriculum & Instruction n in this catalog).

In addition, core courses in the major must be completed.

Print or Download a PDF of this page

COSC 1301 - Introduction to Computing
Hours: 3
An introduction to computers, network communications, and information systems. This course provides the student with knowledge about hardware, software and data management systems. The student is provided experience with an operating system environment, application software including productivity tools, and the use of the internet to communicate and search for information. This course will not count toward a major or minor in computer science or computer information systems.

COSC 1436 - Introduction to Computer Science and Programming
Hours: 4
Introduces the fundamental concepts of structured programming. Topics include software development methodology, data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. This course assumes computer literacy (CSCI 126 / COSC 1301).

COSC 1437 - Programming Fundamentals II
Hours: 4
Review of control structures and data types with emphasis on structured data types. Applies the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Includes basic analysis of algorithms, searching and sorting techniques, and an introduction to software engineering. Prerequisites: CSCI 151 or COSC 1436.

COSC 2325 - Introduction to Machine Language and Digital Logic.
Hours: 3
This course teaches the concepts of assembly and machine language and digital logic as they relate to a modern digital computer. The machine representation of instructions and data are presented along with many of the fundamental concepts such as machine instruction addressing, stack operations, subroutines and procedures. The Digital Logic section of this course introduces elementary logic gates (AND,OR,NAND, NOR, XOR) and shows how they are used to construct more sophisticated working components of a modern digital computer (Flip Flops, Registers, Counters, Adders). Students will then learn how these components are used to implement the Hardware Machine Cycle which translates a software instruction into a series of hardware functions. Prerequisites: CSCI 151 or COSC 1436.

COSC 2336 - Data Structures and Algorithms
Hours: 3
Further applications of programming techniques, introducing the fundamental concepts of data structures and algorithms. Topics include recursion, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), and algorithmic analysis. Prerequisites: CSCI 152 or COSC 1337 or COSC 1437.

CSCI 189 - Independent Study
Hours: 0-4

CSCI 197 - Special Topics
Hours: 0-4
Special Topics

CSCI 233 - Application Program Development
Hours: 3
This course emphasizes software building with the use of integrated development tools and software subsystems for diverse applications. Learning activities include laboratory and classroom tasks to develop the knowledge and skills necessary to write effective computer programs for information system applications. Prerequisites: CSCI 151 or COSC 1436.

CSCI 303 - Technical Communication for Computing Professionals
Hours: 3
The course will consist of a study of formal and informal communications for computing professionals. Types of communications that will be examined will include formal research papers for publication in ACM, IEEE journals, and conference proceedings; power point presentations for conferences and informal presentations to management; software manuals; in house technical reports, progress reports, and email messages. Some of these communications/documents will be created as an individual requirement and more formal presentations such as research papers for journals and conference proceedings, power point presentations for a conference, and manuals will be completed as a team project. Prerequisites: Junior standing.

CSCI 310 - Cybersecurity
Hours: 3
This course will provide students with key terminology, system concepts, and current cyber threats to organizations and individuals. Provides a high-level overview of cybersecurity challenges and counter measures. Introduces the Confidentiality, Integrity, and Availability (CIA) framework for designing and analyzing secure systems. Prerequisites: COSC 1437.

CSCI 317 - Numerical Analysis
Hours: 3
(Same as MATH 317) Computer algebra systems will be introduced. Topics include methods for approximate solutions of equations in one variable, polynomial approximation methods, numerical calculus, numerical solutions to ordinary differential equations, linear systems of equations and difference equations. Prerequisites: COSC 1436; and COSC 1337; and MATH 2414 or concurrent enrollment with MATH 2414.

CSCI 319 - Computational Simulations of Physical Systems
Hours: 3
This self-contained course introduces the student to the Python programming language before exploring applications including finite difference methods, solving linear and non-linear equations, Fourier transforms, simulating physical systems governed by ordinary and partial differential equations, random processes and the Monte Carlo method. No previous programming experience is required. Prerequisites: PHYS 2425.

CSCI 323 - Secure Programming
Hours: 3
The course will provide techniques and best practices utilized in secure coding. This will cultivate the habits of programming with a security consideration. Prerequisites: COSC 2336 and CSCI 310 or concurrent enrollment with CSCI 310.

CSCI 324 - Software Engineering
Hours: 3
This course will provide an overview of software design with architectural design. It will include models of software architecture, architecture styles and patterns, decomposition and composition of architectural components and interactions, and component based software development, deployment, and management. Prerequisites: COSC 2336.

CSCI 333 - Applied Data Analytics with Python
Hours: 3
This course covers both theoretical and practical aspects of applied data science, analytics and visualization in Python. The course coverage includes general python programming basics, data structures and algorithm design with heavy emphasis on applying data analysis and visualization techniques to solve real-world problems in different domains. Topics include data representation, manipulation and clearing, visualization, regression, convolutional and recurrent neural networks, reinforcement learning, model development and evaluation with most up-to-date Python modules and popular toolkits. Prerequisites: COSC 2336.

CSCI 340 - Database
Hours: 3
This course is an introduction to database systems and information management. It is designed to develop entry-level knowledge and skills in data modeling, design, and the representation of information in relational database systems. Structured Query Language and advanced features of relational database systems will be utilized to develop database applications. In addition, this course will include topics on the physical characteristics of databases, techniques for improving access to information, and improving performance and reliability with relational database systems. Prerequisites: CSCI 233 or COSC 2336 or concurrent enrollment with COSC 2336 or CSCI 270.

CSCI 345 - Data Security and Privacy
Hours: 3
This course will provide measures and tools used to guard both the data and analytics processes from attacks, theft, or other malicious activities that could harm or negatively affect them from both online and offline aspects. It includes protection of incoming data, data storage, and output data, using big data analytical models and machine learning techniques. Prerequisites: CSCI 310 and CSCI 340. Corequisites: CSCI 360.

CSCI 351 - Foundations of Information Security
Hours: 3
This course provides the foundation for understanding the key issues associated with protecting information processing systems. Topics include essential security concepts, software security, network attacks and countermeasures, and practical cryptography. Prerequisites: CSCI 152 or COSC 1337 or COSC 1437.

CSCI 352 - Digital Forensics
Hours: 3
This course will introduce students to the fundamentals of computer forensics and cyber-crime scene analysis. The various laws and regulations dealing with computer forensic analysis will be discussed. Students will be introduced to the emerging international standards for computer forensic analysis, as well as a formal methodology for conducting computer forensic investigations. The course combines theory and hands-on learning. Prerequisites: CSCI 152 or COSC 1337 or COSC 1437.

CSCI 353 - Vulnerability Analysis
Hours: 3
The course will provide tools and processes to identify and analyze various vulnerabilities, needed to protect a computing system. Prerequisites: CSCI 310, CSCI 430, and CSCI 434.

CSCI 359 - Systems Analysis & Design
Hours: 3
Traditional and Object-Oriented methods for analysis, design, and implementation of computer based information systems; also includes project management and Computer Assisted System Engineering (CASE) tools. Prerequisites: CSCI 270 or COSC 2336.

CSCI 360 - Cryptography
Hours: 3
The course includes key concepts and fundamental technology of cryptography, including number-theory related to cybersecurity, such as various encryption/decryption methods. The course will also covers private key / public key approaches. Some advanced methods, such as RSA, DES, and AES will be covered. Prerequisites: CSCI 310 and MATH 2305.

CSCI 376 - Introduction to Game Design & Development
Hours: 3
Introduction to Game Design & Development provides student with opportunity to learn the necessary concepts and skills of computer game programming in 2D and 3D environments. Students will have the opportunity to design, create, and program fully functional computer games. Topics include engine/design techniques, i.e. real-time 2D/3D graphics, lighting, terrain and texture mapping, visibility and occlusion, collision detection and avoidance, character animation, and Artificial Intelligence characters. Prerequisites: CSCI 270 or COSC 2336.

CSCI 380 - Web Programming and Interface
Hours: 3
Web Programming and Interface Design. Three semester hours. (1, 2) This course provides students with a hands-on overview of current Web programming languages and Web multimedia technologies. Client/Server concepts will be discussed and implemented into student Web projects. Concepts relating to good interface design will be covered. The course will also explore how multimedia tools and features can be used to enhance Web sites. Co-requisite: CSci 270 or COSC 2336 or consent of instructor.

CSCI 397 - SPECIAL TOPICS
Hours: 0-4
Special Topics. One to four semester hours. Organized class. May be repeated when topics vary.

CSCI 399 - Junior Cyber Design Project
Hours: 3
Students will work in groups to apply the skills and knowledge acquired to demonstrate their mastery of the discipline through a successfully working prototype project. Prerequisites: Junior Classification, Cybersecurity Majors only. CSCI 310 and Instructor's consent.

CSCI 405 - Internship
Hours: 3
Internship. Three semester hours. This course is offered to students having work internships within a computing, information technology, or related type of enterprise. Students are supervised by employing personnel and by CSci faculty. This course gives students the opportunity to earn course credit for the application of computing knowledge and skills used in the working environment. Prerequisites: Junior or Senior standing in CSci and departmental approval.

CSCI 415 - GLB/Ethics, Law & Cybersecurity
Hours: 3
The course introduces students to various aspects of cybersecurity as it relates to computing, ethics and law. The course will define ethics in general and in specific to the field of computer science, morality and moral systems, and provide a distinction between ethical theory and professional ethics. Prerequisites: Junior Standing.

CSCI 419 - Secure Software Development
Hours: 3
Planning and managing of software development projects, with various secure methods and techniques to protect the software system. Planning, scheduling, tracking, cost estimation, risk management, and configuration management, with security and privacy consideration will be covered. Prerequisites: CSCI 310 and CSCI 324.

CSCI 421 - Intrusion Detection & Prevention
Hours: 3
This course provides a look at intrusion detection methodologies and tools and the approaches to handling intrusions when they occur; includes a study of proper computer and network protection procedures to assist in the identification and tracking of intruders. Prerequisites: CSCI 310, CSCI 430, and CSCI 434.

CSCI 422 - Cloud Computing & Security
Hours: 3
This course will cover the key concepts and technologies related to secure cloud computing. The course will include virtualization technology, deployment, models, threats, vulnerabilities, and privacy and security issues in cloud. Prerequisites: CSCI 310 and CSCI 434.

CSCI 428 - Object Oriented Design
Hours: 3
This course introduces fundamental concepts, terminology and methodology of object oriented programming. Further emphasis will be given on current techniques in object oriented analysis, design and applications programming. In particular, the concepts of exception handling, encapsulation, data hiding, inheritance, polymorphism, arrays, and arrayList will be introduced in greater detail. Prerequisites: CSCI 270 or COSC 2336.

CSCI 430 - Operating Systems
Hours: 3
A study of operating systems with emphasis on a multiprogramming environment; concentrates on principles involved in resource management; topics such as job scheduling and memory management are also studied. Prerequisites: CSCI 241 or COSC 2325; and CSCI 270 or COSC 2336.

CSCI 434 - Computer Networks
Hours: 3
This course covers the basic principles and operations of the modern computer networks. Topics include basic data communications, the layered architecture and reference model, protocols and topologies, and network service models and applications. TCP/IP networking and protocols are covered to understand the Internet core functions. In addition, students will have the opportunity to gain practical experience with the installation and administration of networking platforms. Prerequisites: CSCI 241 or COSC 2325; and CSCI 270 or COSC 2336.

CSCI 440 - App Software Project Dev
Hours: 3
A capstone project to provide the student with experience with analysis, design and implementation of a semester project as a member of a systems development team. Prerequisites: CSCI 359, CSCI 380.

CSCI 444 - Network Routers and Switches, VLANs and ACLs
Hours: 3
This course is designed to introduce the student to the operation of Computer Network Routers and Communications Switches. Network security features involving Virtual Local Area Networks (VLANs) and Access Control Lists (ACLs) will also be studied. Students will gain practical laboratory experience working with routers and switches. Lab exercises include router and switch configuration, and the implementation of VLANs and ACLs. Prerequisites: CSCI 434.

CSCI 450 - Computer Architecture
Hours: 3
This course offers a comprehensive coverage of computer architecture and the internals of computer systems. Topics include Computer system performance metrics and analysis, instruction set design, CPU organization (datapath and control, out-of-order execution, register renaming, branch handling techniques, supporting precise interrupts in out-of-order pipelines, superscalar processors), Memory systems (caches, virtual memory, TLBs, multi-level cache hierarchies), Input-output systems, Storage systems and RAIDs, Introduction to multicore and multithreaded processors. Upon completion of this course, the student will understand the operations and timing issues of modern microprocessors, memory systems and input/output devices, and the interactions among these components Prerequisites: COSC 1437 and COSC 2325.

CSCI 451 - Wireless and Mobile Security
Hours: 3
This course on wireless networks and mobile security will cover threats, attacks and defenses of wireless and mobile computing platforms spanning across secure coding, cryptography, physical security, underlying protocols for secure communication, and policy management in the wireless and mobile environments, including WiFi networks and mobile devices and cloud. The course will also introduce the functions of monitoring, security detection and malware prevention capabilities to protect its wireless networks and mobile customers. Prerequisites: COSC 2336.

CSCI 452 - Malware Analysis
Hours: 3
This class will provide students with concepts, tools and methods associated with malicious code analysis. Different attacking methods will be examined and analyzed to defend against malicious code. Safe handling practices for malware analysis will be taught/practiced. Prerequisites: COSC 2325, CSCI 310, CSCI 434, and CSCI 430.

CSCI 455 - Parallel Computing
Hours: 3
This course is intended to introduce students to the fundamentals of parallel computing and principles of parallel algorithms. Topics include parallel programming architectures, paradigms, data scattering and gathering, parallel algorithm design, analysis, implementation, performance evaluation, and parallel application development that are scalable and can run efficiently on platforms like desktop systems and supercomputers. Prerequisites: COSC 2336.

CSCI 457 - Programming Mobile Devices
Hours: 3
This course covers the development of applications for network enabled mobile devices including smart phones. Topics include components for graphical user interface, memory management, custom user interface development, touch-based or timer-based event handling, file I/O, animation using 2-D/3-D graphics, audio and video application programming interfaces, and data storage. Object Oriented Programming will be introduced by Swift. Prerequisites: COSC 2336 or CSCI 270.

CSCI 458 - Network Security & Management
Hours: 3
Network access control, intrusion detection and prevention, network and communication protection, network segmentation and flow control/monitoring. Network deep packet inspection and anomaly detection. Prerequisites: CSCI 310, CSCI 434.

CSCI 459 - AI Enhanced Security
Hours: 3
This course will provide key terminology and techniques to understand AI and cybersecurity. It emphasize on how to adopt AI techniques, such as machine learning algorithms and big data techniques to enhance the security and privacy for various computing systems. The course will illustrate the cutting-edge techniques and provide hands-on experiences on combining AI with cybersecurity to enhance various secure systems. Prerequisites: CSCI 310, MATH 2414, and MATH 403.

CSCI 463 - Systems Security & Trusted Computing
Hours: 3
This course provides the lower-level systems software and hardware from a security perspective. Discusses the challenges and opportunities present in these lower levels to provide security to the higher levels of kernel and applications Prerequisites: CSCI 310 and CSCI 430.

CSCI 465 - Smart Things Security
Hours: 3
This course will provide the technology and security challenges associated with smart devices, Internet of Things (IoT), Internet of Medical Things (IoMT), and certain cyber-physical systems. The issues are discovered from various perspectives such as hardware, network, management policies, and with hands-on experiences. Prerequisites: CSCI 310 and CSCI 451.

CSCI 467 - Server Security & Maintenance
Hours: 3
This course will provide techniques and methods to maintain and secure servers from intrusions and attacks. Prerequisites: CSCI 310, CSCI 430, and CSCI 434.

CSCI 489 - Independent Study
Hours: 3
Independent Study. One to four semester hours. Individualized instruction/research at an advanced level in a specialized content area under the direction of a faculty member. May be repeated when the topic varies. Prerequisite: Consent of department head.

CSCI 490 - H Honors Thesis
Hours: 3-6

CSCI 491 - H Independent Honors Rdgs
Hours: 3
Independent Study - Hours: One to four Individualized instruction/research at an advanced level in a specialized content area under the direction of a faculty member. Prerequisites Consent of department head. Note May be repeated when the topic varies.

CSCI 497 - Special Topics
Hours: 1-7
Special Topics. One to four semester hours. Organized class. May be repeated when topics vary.

CSCI 499 - Senior Cyber Design Project
Hours: 3
Students will work in groups to apply the skills and knowledge acquired to demonstrate their mastery of the discipline through a successfully working prototype project. Prerequisites: Senior Classification, Cybersecurity Majors only. Course must be scheduled the final semester of graduation and Instructor's consent.

Abdullah Arslan
Associate Professor
B.S. Middle East Technical University; M.S. University of North Texas; Ph.D. University of California, Santa Barbara.

R. Daniel Creider
Associate Professor
B.A., Central Bible College; B.S., Southwest Missouri State University; M.S., Auburn University; Ph.D., Baylor University.

Omar El Ariss
Associate Professor
B.S., M.S., Lebanese American University; Ph.D., North Dakota State University

Eman Hammad
Assistant Professor
B.S., University of Jordan, Amman, Jordan; M.S. Texas A&M University, College Station; Ph.D., University of Toronto, Toronto, Canada

Derek Harter
Associate Professor
B.S., Purdue University; M.S., Johns Hopkins University; Ph.D., University of Memphis.

Amy Hays
Instructor
B.S. University of California-Davis; M.S. Texas A&M University-Commerce

Kaoning Hu
Assistant Professor
B.S., M.S., Huazhong University of Science and Technology; Ph.D., State University of New York at Binghamton

Jinoh Kim
Associate Professor
B.A., M.S., Inha University; Ph.D., University of Minnesota

Surjan Kotikela
Assistant Professor
B.S., Jawaharial Nehru Technological University, Hyderabad, India; M.S. Ph.D., University of North Texas

Dongeun Lee
Associate Professor
B.S., Seoul National University, Seoul Korea; Ph.D., Seoul National University, Seoul Korea

Mutlu Mete
Associate Professor
B.S. Dokuz Eylul University; Ph.D. University of Arkansas at Little Rock.

Shelley Saffer
Professor
B.A., University of Texas at Austin; M.A.S., Ph.D., Southern Methodist University.

Sang C. Suh
Regents Professor
M.S., University of Hawaii; Ph.D., Southern Methodist University.