Courses Offered

CS 10103 PC Applications (3)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 required. FALL/SPRING.

CS 20104 Computer Programming I (4)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 hours lecture, two hours lab. Course fee required. Prerequisite: MTH 11403 Algebra. FALL.

CS 20204 Computer Programming II (4)This course is a continuation of CS 20104Computer 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 hours lecture, two hours lab. Course fee required. Prerequisite: CS 20104 Computer Programming I. SPRING.

CS 21503 Introduction to Database (3)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 hours lecture, two hours lab. Course fee required. Prerequisite: CS 20104 Computer Programming I. FALL.

CS 22003 Data Structures (3)This course builds on the concepts introduced in CS20104 and CS20204 Computer Programming I and 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 hours lecture. Prerequisites: CS 20204 Computer Programming II and MTH 14505 Pre Calculus. FALL.

CS 23303 Visual Basic (3)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 Computer Programming I or permission of instructor. Course fee required. ON DEMAND.

CS 24303 Software Design and Development (3)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. Additional work/assignments required for CS 44303 Software Design and Development. Prerequisites: CS 22003 Data Structures or permission from the instructor. Dual-listed as CS 44303. SPRING.

CS 28801-03 Selected Topics in Computer Science (1-3). 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. ON DEMAND.

CS 29101-03 Internship (1-3). 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. ON DEMAND

CS 31503 Programming Languages (3)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 hours lecture. Prerequisites: CS 22003 Data Structures. SPRING.

CS 32003 Operating Systems (3)This course covers I/O and interrupt structures, system structure, memory management, instruction sets, and microprogramming. Prerequisites: CS 22003 Data Structures. FALL.

CS 33403 Web Programming and Development (3). 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: HTML, CSS, Javascript and JQuery, PHP, and web frameworks such as Django or Ruby on Rails. Prerequisites: CS 20204 Programming II. SPRING.

CS 34103 Computer Algorithms (3). 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 Data Structures. ON DEMAND.

CS 35103 Theory of Computation(3). 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 Data Structures and MTH25403 Discrete Mathematics. ON DEMAND.

CS 41103 Computer Architecture(3). 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 hours lecture. Prerequisite: CS 20203 Computer Programming II. SPRING.

CS 41503 Advanced Database (3)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 Introduction to Database Systems and CS 20204 Computer Programming II. ON DEMAND.

CS 42503 Mobile Application Development (3). 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 Data Structures. ON DEMAND.

 

CS 43503 Network Security Programming (3). This course teaches network security concepts through programming. The course gives students an opportunity to write code to both attack and defend against 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 Data Structures. ON DEMAND.

 

CS 44303 Software Design and Development (3)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. Additional work/assignments required for CS 44303 Software Design and Development. Prerequisites: CS 20204 Computer Programming II or permission from the instructor. Dual-listed as CS 24303. SPRING.

 

CS 46403 Advanced Communication and Networking (3)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 hours lecture. Prerequisites: CS 22003 Data Structures. ON DEMAND.

CS 48801-03 Selected Topics in Computer Science (1-3). 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. ON DEMAND.

CS 49101-04 Senior Project (1-4). 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. Course fee required. ON DEMAND.