Computer Science

CS 10103 PC Applications

An introduction to the microcomputer and application software. Emphasis is placed on gaining practical experience with word processing, spreadsheet, presentation graphics, database systems, and the Internet. Two hours lecture, two hours lab. Course fee is required.

Offered Fall, Spring for 3 Semester hours.

CS 20104 Computer Programming I

This course introduces fundamental concepts of programming and problem solving from an object-oriented perspective. Topics include algorithm design, simple data types, control structures, classes, arrays, and strings. The course emphasizes good programming designs and styles, coding, and debugging techniques. A programming language that supports object- oriented paradigm will be used. Three-hour lecture, two-hour lab. Course fee required. Prerequisite: MTH 11403 Intermediate Algebra.

Offered Fall for 3 Semester hours.

CS 20204 Computer Programming II

This course is a continuation of CS 20104 Computer Programming I. Topics include object-oriented programming with emphasis on program design and style, classes, recursion, searching and sorting, simple data structures, and graphical user interfaces. Three-hour lecture, two-hour lab. Course fee required. Prerequisite: CS 20104.

Offered Spring for 4 Semester hours.

CS 21503 Introduction to Database Systems

This course is an introduction to the concepts of database processing and MIS. Topics include: discussions of major database types, specifically relational databases, discussion of the history of databases and database issues, Database Management Systems (DBMS), SQL queries, updates, data entry, generating reports and forms, and file organization. Two-hour lecture, two-hour lab. Course fee required. Prerequisite: CS 20104.

Offered Fall for 3 Semester hours.

CS 22003 Data Structures

This course builds on the concepts introduced in CS 20104 and CS 20204 Computer Programming I & II with emphasis on algorithms design and analysis, object-oriented design, data structures, and software engineering. Data structure topics include stacks, queues, hashing, linked lists, trees, and graphs. Three-hour lecture. Prerequisites: CS 20204 and MTH 14505.

Offered Fall for 3 Semester hours.

CS 23303 Visual Basic

This course introduces Visual Basic as an object-oriented programming language, similar to C++. Topics include: fundamental concepts and methods of object-oriented programming; building Windows applications using Visual Basic including programming forms, controls, events, methods, and functions; data representation; control structures; arrays; and other data structures. This is a project-oriented course aimed at providing hands-on experience in Windows-based application development. Prerequisite: CS 20104 or permission of instructor. Course fee required.

Offered On Demand for 3 Semester hours.

CS 24303 Software Design and Development

This course will introduce a software design, development, and improvement model that can help to perfect professional quality software engineering practices. Topics covered include: introduction to principles and issues concerned with specification, design, implementation, and testing of high quality software; understanding of software life-cycle models; use of development tools, principles, and environments which facilitate ultimate development of large/ commercial grade software systems. Computer projects to partially develop some medium scale software will be assigned to translate software development methodologies and concepts into a functional product. Prerequisites: CS 22003 or permission from the instructor. Dual-listed as CS 44303.

Offered Spring for 3 Semester hours.

CS 24303 Software Design and Development

This course will introduce a software design, development, and improvement model that can help to perfect professional quality software engineering practices. Topics covered include: introduction to principles and issues concerned with specification, design, implementation, and testing of high quality software; understanding of software life-cycle models; use of development tools, principles, and environments which facilitate ultimate development of large/commercial grade software systems. Computer projects to partially develop some medium scale software will be assigned to translate software development methodologies and concepts into a functional product. Prerequisites: CS 20104 or permission from the instructor. Duel Listed as CS 44303.

Offered Spring for 3 Semester hours.

CS 28801-03 Selected Topics in Computer Science

A study of topics not included in regular course offerings. The format may be independent or directed studies or a scheduled class. Prerequisite: Permission of instructor and School Chair. Course fee required.

Offered On Demand for 1-3 Semester hours.

CS 29101-03 Internship

This course provides a student with experience in one of a variety of computer lab settings, including a lab at the University or at a local industry or business site. Prerequisite: Advanced standing in the Programming and Software Development program.

Offered On Demand for 1-3 Semester hours.

CS 31503 Programming Languages

This course covers BNF description and regular expressions of programming languages, significant features of existing procedural, imperative, declarative, functional, and object- oriented programming languages. Structure and comparison of languages for numeric and nonnumeric computation are also covered. Languages studied typically include: C, C++, LISP, Pascal, Prolog, SmallTalk, etc. Three-hour lecture. Prerequisites: CS 22003.

Offered Spring for 3 Semester hours.

CS 32003 Operating Systems

This course covers I/O and interrupt structures, system structure, memory management, instruction sets, and microprogramming. Prerequisites: CS 22003.

Offered Fall for 3 Semester hours.

CS 33003 Cloud Computing

Cloud computing business model, technologies, and applications. The course includes advanced topics in the deployment of cloud computing and hands-on labs with cloud services, such as Azure, AWS, and BlueMix. Prerequisite: CS 22003.

Offered Spring for 3 Semester hours.

CS 33403 Web Programming & Development

This course introduces web programming and development. Programming techniques in several web-programming languages will be introduced. The client/server concept is emphasized. Writing applications that connect to a database management system will also be covered. Topics in this class include: MS SQL, HTML, XHTML, and XML, JavaScript, Java applets, PHP/, MySQL, AJAX techniques. Prerequisite: CS 20204.

Offered Spring for 3 Semester hours.

CS 34103 Computer Algorithms

This course focuses on algorithm design, complexity analysis, and optimization. Students learn how to analyze algorithm performance mathematically in addition they learn a large variety of algorithms. In this course, students study algorithms with a variety of design strategies including iterative, divide-and-conquer, dynamic programming, and greedy algorithms Prerequisites: CS 22003 and MTH 25403

Offered On Demand for 3 Semester hours.

CS 35103 Theory of Computation

This course introduces students to the concepts of languages, automata, computability theory, and complexity theory. Topics covered include regular languages, context-free languages, Turing machines, and parsing. Prerequisites: CS 22003 and MTH 25403.

Offered On Demand for 3 Semester hours.

CS 41103 Computer Architecture

This course is an exploration of various modules of the computer architecture and how they interact. In particular, this course covers logic circuits and Boolean algebra, microprocessors, memory organization, and internal representation of data. Assembly language programming will also be introduced and used for programming projects. Three-hour lecture. Prerequisite: CS 20204.

Offered Spring for 3 Semester hours.

CS 41503 Advanced Database

This course provides a detailed understanding of physical and logical organization of database (specifically relational), and includes programming assignments that require the design of data base programs in a high level and/or fourth generation language. Topics include: relational algebra, complex queries, database design issues, database components and implementation, SQL database security and recovery, concurrent processing, physical and logical implementation of files and records. Students must have advanced knowledge of a structured programming language, such as C or C++. Prerequisites: CS 21503 and CS 20204.

Offered On Demand for 3 Semester hours.

 

CS 42503 Mobile Application Development

This course provides an introduction to mobile computing and mobile application development. The course introduces mobile application frameworks such as iOS and Android framework and their perspective development environments. User interface design will be covered. The course will also discuss design patterns for mobile computing such as Model-View-Controller. Students will develop complete mobile applications. Prerequisites: CS 22003.

Offered On Demand for 3 Semester hours.

CS 43503 Network Security Programming

This course teaches network security concepts through programming. The course gives students an opportunity to write code to both attack and defend against cyber-attacks. Students will learn secure coding techniques that prevent common exploits on a web server. Cryptography’s limitations will be explored through programming exercises to encrypt and decrypt messages. Additionally, the course will touch upon ethical considerations such as privacy and white-hat security. Prerequisites: CS 22003.

Offered On Demand for 3 Semester hours.

CS 44303 Software Design and Development

This course will introduce a software design, development, and improvement model that can help to perfect professional quality software engineering practices. Topics covered include: introduction to principles and issues concerned with specification, design, implementation, and testing of high quality software; understanding of software life-cycle models; use of development tools, principles, and environments which facilitate ultimate development of large/ commercial grade software systems. Computer projects to partially develop some medium scale software will be assigned to translate software development methodologies and concepts into a functional product. Prerequisites: CS 22003 or permission from the instructor. Dual-listed as CS 24303.

Offered Spring for 3 Semester hours.

CS 44303 Software Design and Development

This course will introduce a software design, development, and improvement model that can help to perfect professional quality software engineering practices. Topics covered include: introduction to principles and issues concerned with specification, design, implementation, and testing of high quality software; understanding of software life-cycle models; use of development tools, principles, and environments which facilitate ultimate development of large/commercial grade software systems. Computer projects to partially develop some medium scale software will be assigned to translate software development methodologies and concepts into a functional product. Prerequisites: CS 20104 or permission from the instructor. Duel Listed as CS 24303.

Offered Spring for 3 Semester hours.

CS 44503 Big Data Systems

The course will focus on data mining and machine learning algorithms for analyzing very large amounts of data. Map Reduce and No SQL system will be used as tools/standards for creating parallel algorithms that can process very large amounts of data. Storage, retrieval, analysis, and knowledge discovery using Big Data has made significant inroads in several domains in industry, research, and academia. In this course, we will look at the dominant software systems and algorithms for coping with Big Data. Topics covered include scalable computing models large-scale, non-traditional data storage frameworks including graph, key-value, and column-family storage systems; data stream analysis; scalable prediction models and in-memory storage systems. Prerequisite: CS 22003.

Offered Spring for 3 Semester hours.

CS 46403 Advanced Communication and Networking

This course provides a thorough discussion of digital communication and networking. Topics include: the uses of computer networks and their goals, network structures and design, network layers, topologies, standardization, and Internet working and design issues. Three-hour lecture. Prerequisites: CS 22003.

Offered On Demand for 3 Semester hours.

CS 48801-03 Selected Topics in Computer Science

study of topics not included in regular course offerings. The format may be independent or directed studies or a scheduled class. Prerequisite: Permission of instructor and School Chair.

Offered On Demand for 1-3 Semester hours.

CS 49101-04 Senior Project

This course provides students with real life situations in processing and problem solving in the field of computer science. This course can consist of various projects or internships, utilizing AI, Graphics, OOP, C, UNIX, etc. Prerequisite: Permission of instructor and School Chair.

Offered On Demand for 1-4 Semester hours.