Computer Science and Information Systems

Sang C. Suh (Department Head)
Location: Journalism Building, Room 122, 903-886-5409, Fax 903-886-5404
General Information: Rosalyn.Rose@tamuc.edu
Computer Science and Information Systems Web Site: http://www.tamuc.edu/academics/colleges/scienceEngineeringAgriculture/departments/computerScienceInformationSystems/default.aspx

The Department of Computer Science and Information Systems offers two academic programs, the Bachelor of Science (B.S.) with a major in Computer Science 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 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:
(a) An ability to apply knowledge of computing and mathematics appropriate to the discipline.
(b) An ability to analyze a problem and identify and define the computing requirements appropriate to its solution.
(c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
(d) An ability to function effectively on teams to accomplish a common goal.
(e) An understanding of professional, ethical, legal, security and social issues and responsibilities.
(f) An ability to communicate effectively with a range of audiences.
(g) An ability to analyze the local and global impact of computing on individuals, organizations, and society.
(h) Recognition of the need for and an ability to engage in continuing professional development.
(i) An ability to use current techniques, skills, and tools necessary for computing practice.
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
(k) An ability to apply design and development principles in the construction of software systems of varying complexity.

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.

CSCI 126 - Introduction to Computing
Hours: 3
(COSC 1301) Introduction to Computing. Three semester hours. (1, 2, 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.

CSCI 131 - Visual Basic Programming
Hours: 3
Visual Basic.Net Programming. Three semester hours. This course is designed to provide the student with introductory computer programming skills using an object-oriented computer language. Topics to be covered are algorithms and problem-solving, fundamental programming constructs such as sequence, selection, iteration, and functions, object-oriented interface and program design, and event-driven computer programming with an emphasis on business applications. Prerequisite: MIS 128, MATH 1314 or 1324. This course will not count toward a major or minor in computer science or computer information systems.

CSCI 141 - Intro to Comp Sys Hdw & Sfw Co
Hours: 4
Introduction to Computer Systems Hardware and Software Components. Four semester hours (3 lecture, 2 lab). This course is equivalent to the A+ PC Maintenance Semester I and II in preparation for A+ Certification. It involves the study of computer hardware systems and the configuration of computer systems and subsystems. The course emphasizes the distinction between hardware and software failures in computing systems. Topics include an introduction to computer organization, computing components, troubleshooting of hardware as related to software systems. Prerequisite: CSCI 126. Co-requisite: CSCI 151.

CSCI 151 - Intro to Comp Sci & Progr
Hours: 4
(COSC 1336) Introduction to Computer Science and Programming. Four semester hours. (1, 2, 3) 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).

CSCI 152 - Programming Fundamentals II
Hours: 3
(COSC 1337) Programming Fundamentals II. Three semester hours. (1, 2, 3) 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. Prerequisite: CSCI 151.

CSCI 189 - Independent Study
Hours: 0-4

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

CSCI 233 - Application Program Development
Hours: 3
Computer programming for business applications; emphasis on design, development, testing, implementation, and documentation of software. Prerequisites: CSCI 151 or equivalent.

CSCI 241 - Machine Language and Computer Organization
Hours: 3
(COSC 2325) Machine Language and Computer Organization. Three semester hours. (1, 2, 3) Basic computer organization; machine cycle, digital representation of data and instructions; assembly language programming, assembler, loader, macros, subroutines, and program linkages. Prerequisite: CSCI 151.

CSCI 270 - Data Structures and Algorithms
Hours: 3
(COSC 2336) 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. Prerequisite: CSCI 152.

CSCI 317 - NUMERICAL ANALYSIS
Hours: 3
Numerical Analysis. Three semester hours. (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 CSCI 151 and 152 and MATH 192.

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 333 - Java Language Programming
Hours: 3
This course introduces the Java programming language. It is intended for advanced students and is a fast-paced course moving rapidly from basic concepts to more complex concepts. Topics covered will include: Basics (Data Types, Classes, File I/O), Graphical User Interface (Swing), Layout of GUI (Layout managers, Borders), Advanced concepts (Threads, Processes). Prerequisites: CSCI 270.

CSCI 340 - Introduction to Database
Hours: 3
CSCI 340 Introduction to Database. Three semester hours. (1, 2, 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. Prerequisite: CSCI 233 or co-requisite CSCI 270 or departmental approval. Prerequisites: CSCI 233 or co-requisite CSCI 270 or departmental approval.

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 consent of instructor.

CSCI 352 - INTRO TO COMP LAW AND FORENSIC
Hours: 3
Introduction to Computer Law and Forensics. Three semester hours. 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. Prerequisite: Junior standing and CSCI 351.

CSCI 359 - Systems Analys & Design
Hours: 3
Systems Analysis and Design. Three semester hours. (1, 2) 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, 340, or concurrent enrollment in CSCI 340.

CSCI 375 - Intro to Computer Gaming
Hours: 3
Introduction to Computer Gaming - Three semester hours This course introduces various computer gaming platforms and gaming programming techniques. The course will emphasize the XNA gaming platform and aspects of the C# programming language that pertain to gaming. Other topics include Open GL and DirectX as related to computer gaming. Pre-requisites : CSCI 270

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 consent of instructor.

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 414 - UNIX SW Dev Networking
Hours: 3
UNIX Software Development and Networking - Three semester hours In this course students will be presented with the standard set of tools and software development methodologies that are supported by the Unix programming environment. Students will learn to use standard Unix tools, such as debuggers, compilers, automated build systems and revision control systems. These tools will be applied to the development of applications using standard Unix systems programming, to explore the Posix socket libraries for Unix based low level networking applications.

CSCI 415 - GLB/Information Security, Law, and Ethics
Hours: 3
This course is divided into two parts, Part I: Introduces students to various technical and administrative aspects of Information Security and Assurance as it relates to computing, and ethics. We will define ethics, morality, and moral systems and recognize the distinction between ethical theory and professional ethics. Part II: introduces students to the intro-level fundamental knowledge of computer security and applied cryptography. Students will learn the basic concepts in computer security including software vulnerability analysis and defense, networking and wireless security, and applied cryptography. Students will also learn the fundamental methodology for how to design and analyze security critical systems. Prerequisites: Junior Standing or Approval from the Department.

CSCI 428 - Introduction to Object Oriented Programming
Hours: 3
This course emphasizes current techniques in object oriented design, analysis, and programming. Such topics as encapsulation, information hiding, inheritance and polymorphism are studied in class assignments and programming exercises. The C++ programming language is utilized along with the UML modeling language. Prerequisites: CSCI 270 or permission of instructor.

CSCI 430 - Introduction to 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 and CSCI 270.

CSCI 434 - Introduction to 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, CSCI 270.

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 - Introduction to Network Routers and Switches, VLANs and ACLs
Hours: 3
This course is a continuation of CSCI 434 (Introduction to Local Area Networks). 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. Prerequisites: CSCI 434.

CSCI 449 - AUTOMATA THEORY
Hours: 3
Automata Theory. Three semester hours. This course teaches the general theory, concepts, and techniques related to the theory of automata. Practical examples related to programming languages are emphasized. Students will have the opportunity to utilize theoretical aspects of automata theory by performing a medium-scale design project. Topics include Finite Automata, Transition Graphs, Nondeterminism, Finite Automata with Output, Context-Free Grammars, Regular Grammars, Chomsky Normal Form, Pushdown Automata. Context-Free Languages, Non-Context-Free Languages, parsing, and Turing Machines. Prerequisites: CSCI 270, MATH 192

CSCI 454 - Introduction to Network Security
Hours: 3
The course encompasses the structures, transmission methods, transport formats, and security measures used to provide integrity, availability, authentication, and confidentiality for transmissions over computer networks. Topics include TCP/IP overview, basic cryptography, key distribution, user authentication, network and Internet security, and network security operations. Prerequisites: CSCI 434 or consent of instructor.

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 with the Objective–C, Java, or Swift. Prerequisites: CSCI 270.

CSCI 470 - DATABASE PROGRAMMING
Hours: 3
Database Programming. Three semester hours. (1,2) A course on the development of database applications with an emphasis on programming for database access. It includes data storage and manipulation, information presentation with database connectivity using such application programming interfaces as stored procedures, embedded SQL, server pages and servlets. Topics in XML programming for data exchange are also included. Prerequisite: CSCI 340.

CSCI 471 - DATABASE ADMINISTRATION
Hours: 3
Database Administration. Three semester hours. A course on the installation, management and control of database management system software, the database structures and data repository. It includes a study of database architecture, configuration control, security and integrity, recovery management, system performance measurement, and database tuning. Prerequisite: CSCI 340.

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.

Bilal Abu Bakr
Assistant Professor
M.S., University of Punjab, Lahore, Punjab; M.S., Western Illinois University; M.S., Western Michigan University; Ph.D., Western Michigan University

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.

Isaac Gang
Assistant Professor
B.S., M.S., Ph.D., University of Southern Mississippi

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

Sandra Huerter
Instructor
B.S., Kansas State University; M.S., East Texas State University.

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

Dongeun Lee
Assistant Professor
B.S., 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.

Nikolay Sirakov
Professor
M.S., Sofia University; Ph.D., Bulgarian Academy of Sciences.

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

Urcun Tanik
Assistant Professor
B.S., The University of Texas at Austin; M.S., Ph.D., University of Alabama at Birmingham

Yuehua Wang
Assistant Professor
B.S., North University of China, Taiyuan, China; M.S., North University of China, Taiyuan, China; Ph.D., Beihang University, Beijing, China