Computer Science Courses

Courses

CS 1101.  Intro to Computer Science Lab.  

Introduction to Computer Science Lab First course for students majoring in Computer Science. Introduction to problem solving with computers, including representation, control structures, and software development methods; closed laboratory and programming assignments in a high-level language; programming environments; social and ethical aspects of computing. Prerequisite: MATH 1508 or MATH 1411 with "C" or better.

Department: Computer Science

1 Credit Hour
3 Total Contact Hour
3 Lab Hour
0 Lecture Hour
0 Other Hour

Prerequisite(s): (MATH 1508 w/C or better ) OR (MATH 1411 w/C or better ) OR (MATH 2301 w/C or better ) OR (MATH 1312 w/C or better ) OR (MATH 2313 w/C or better ) OR (MATH 2326 w/C or better ) OR (BANM score between 4 and 5 ) OR (ACCL score between 081 and 120 AND BANM score between 4 and 5 ) OR (BANM score between 4 and 5 AND EPCM score between 081 and 120 ) OR (MATH 1411A w/C or better AND MATH 1411B w/C or better AND MATH 1411C w/C or better ) OR (MATH 1508A w/C or better AND MATH 1508B w/C or better AND MATH 1508C w/C or better ) OR (SXDG score of 1 ) OR (SXMA score of 1 ) OR (SXMN score of 1 ) OR (SXOI score of 1 ) OR (SXTR score of 1 ) OR (MATH 1310 w/C or better)

CS 1110.  Intro to Problem Solving.  

Intro to Problem Solving: The student will learn a systematic approach to problem solving, incuding questioning, reflecting, consideration of different perspectives and defending the selected solution.

Department: Computer Science

1 Credit Hour
1 Total Contact Hour
0 Lab Hour
1 Lecture Hour
0 Other Hour

Major Restrictions:
Restricted to majors of CS, LDCS

CS 1120.  Computational Thinking.  

Computational Thinking: Problem solving using computational thinking involves formulating problems in a manner that enables the use of computers and related tools to find solutions. The activities will focus on developing abilities to identify specific modules in a difficult problem, and build solutions using a bottom-up method.

Department: Computer Science

1 Credit Hour
1 Total Contact Hour
0 Lab Hour
1 Lecture Hour
0 Other Hour

Prerequisite(s): (CS 1101 w/C or better AND CS 1301 w/C or better ) OR (CS 1401 w/C or better)

CS 1190.  Special Topics in Computing.  

Special Topics in Computing Selected topics of current interest in computer science, accessible by any calculus ready student. May be repeated for credit when topic varies.

Department: Computer Science

1 Credit Hour
1 Total Contact Hour
0 Lab Hour
1 Lecture Hour
0 Other Hour

Prerequisite(s): (MATH 1508 w/C or better ) OR (MATH 1411 w/C or better ) OR (MATH 2301 w/C or better ) OR (MATH 1312 w/C or better ) OR (MATH 2313 w/C or better ) OR (MATH 2326 w/C or better ) OR (BANM score between 4 and 5 ) OR (ACCL score between 081 and 120 AND BANM score between 4 and 5 ) OR (BANM score between 4 and 5 AND EPCM score between 081 and 120 ) OR (MATH 1411A w/C or better AND MATH 1411B w/C or better AND MATH 1411C w/C or better ) OR (MATH 1508A w/C or better AND MATH 1508B w/C or better AND MATH 1508C w/C or better ) OR (SXDG score of 1 ) OR (SXMA score of 1 ) OR (SXMN score of 1 ) OR (SXOI score of 1 ) OR (SXTR score of 1 ) OR (MATH 1310 w/C or better)

CS 1191.  Special Topics in Computing.  

Special Topics in Computing: Selected topics of current interest in computer science, accessible by any calculus ready student.

Department: Computer Science

1 Credit Hour
1 Total Contact Hour
0 Lab Hour
1 Lecture Hour
0 Other Hour

Major Restrictions:
Restricted to majors of CS, LDCS

Prerequisite(s): (MATH 1508 w/C or better ) OR (MATH 1310 w/C or better)

CS 1290.  Special Topics in Computing.  

Special Topics in Computing Selected topics of current interest in computer science, accessible by any calculus ready student. May be repeated for credit when topic varies.

Department: Computer Science

2 Credit Hours
2 Total Contact Hours
0 Lab Hours
2 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 1508 w/C or better ) OR (MATH 1411 w/C or better ) OR (MATH 2301 w/C or better ) OR (MATH 1312 w/C or better ) OR (MATH 2313 w/C or better ) OR (MATH 2326 w/C or better ) OR (BANM score between 4 and 5 ) OR (ACCL score between 081 and 120 AND BANM score between 4 and 5 ) OR (BANM score between 4 and 5 AND EPCM score between 081 and 120 ) OR (MATH 1411A w/C or better AND MATH 1411B w/C or better AND MATH 1411C w/C or better ) OR (MATH 1508A w/C or better AND MATH 1508B w/C or better AND MATH 1508C w/C or better ) OR (SXDG score of 1 ) OR (SXMA score of 1 ) OR (SXMN score of 1 ) OR (SXOI score of 1 ) OR (SXTR score of 1 ) OR (MATH 1310 w/C or better)

CS 1291.  Special Topics in Computing.  

Special Topics in Computing: Selected topics of current interest in computer science, accessible by any calculus ready student.

Department: Computer Science

2 Credit Hours
2 Total Contact Hours
0 Lab Hours
2 Lecture Hours
0 Other Hours

Major Restrictions:
Restricted to majors of CS, LDCS

Prerequisite(s): (MATH 1508 w/C or better ) OR (MATH 1310 w/C or better)

CS 1301.  Intro to Computer Science.  

Intro to Computer Science: Topics include basic concepts of algoriths, basic computer organization, impacts of computing, and implementation of solutions to computinng problems in a high-level programming language. Students will build problem-solving skills, team skills, critical-thinking skills, and professionalism.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 1508 w/C or better ) OR (MATH 1310 w/C or better ) OR (MATH 2301 w/C or better ) OR (MATH 1411 w/C or better ) OR (MATH 1312 w/C or better ) OR (MATH 2326 w/C or better ) OR (MATH 2313 w/C or better)

CS 1310.  Intro-Computational Thinking.  

Introduction to Computational Thinking: An introduction to computational thinking: Computational thinking is the process of converting a real-world problem into software-based approach for solving it. Towards that goal, students are analytically engaged in the creation of programs that address the challenges of drawing shapes, animating familiar phenoma, and generating graphical representations of problems of relevance to their academic major. Students learn analytical skills that are transferrable to many other disciplines. [Common Course Number COSC 1301]

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

CS 1320.  Computer Programming Sci/Engr.  

(Common Course Number COSC 1330). Introduction to computers and problem solving with digital computers. A procedural programming language will be utilized to solve scientific and engineering oriented problems. Visualization methods will also be used to provide an experimental approach to problem solving. Prerequisite: MATH 1508 with a grade of "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 1508 w/C or better ) OR (MATH 1411 w/C or better ) OR (MATH 2301 w/C or better ) OR (BANM score between 4 and 5 ) OR (ACCL score between 081 and 120 AND BANM score between 4 and 5 ) OR (BANM score between 4 and 5 AND EPCM score between 081 and 120 ) OR (MATH 1411A w/C or better AND MATH 1411B w/C or better AND MATH 1411C w/C or better ) OR (MATH 1508A w/C or better AND MATH 1508B w/C or better AND MATH 1508C w/C or better ) OR (SXDG score of 1 ) OR (SXMA score of 1 ) OR (SXMN score of 1 ) OR (SXOI score of 1 ) OR (SXTR score of 1 ) OR (MATH 1310 w/C or better)

CS 1401.  Intro to Computer Science.  

Introduction to Computer Science: First course for students majoring in Computer Science. Introduction to problem solving with computers, including representation, control structures, and software development methods; closed laboratory and programming assignments in a high-level language; programming environments; social and ethical aspects of computing. [Common Course Number COSC 1436]

Department: Computer Science

4 Credit Hours
6 Total Contact Hours
3 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 1508 w/C or better ) OR (MATH 1411 w/C or better ) OR (MATH 2301 w/C or better ) OR (MATH 1312 w/C or better ) OR (MATH 2313 w/C or better ) OR (MATH 2326 w/C or better ) OR (BANM score between 4 and 5 ) OR (ACCL score between 081 and 120 AND BANM score between 4 and 5 ) OR (BANM score between 4 and 5 AND EPCM score between 081 and 120 ) OR (MATH 1411A w/C or better AND MATH 1411B w/C or better AND MATH 1411C w/C or better ) OR (MATH 1508A w/C or better AND MATH 1508B w/C or better AND MATH 1508C w/C or better ) OR (SXDG score of 1 ) OR (SXMA score of 1 ) OR (SXMN score of 1 ) OR (SXOI score of 1 ) OR (SXTR score of 1 ) OR (MATH 1310 w/C or better)

CS 2101.  Discrete Structures I.  

Discrete Structures I: Topics include propositional logic, proofs, sets, functions, and relations, counting, inductio and recursion. This course emphasizes the connections of it content with Computer Science.

Department: Computer Science

1 Credit Hour
1 Total Contact Hour
0 Lab Hour
1 Lecture Hour
0 Other Hour

Major Restrictions:
Restricted to majors of CS, LDCS

Prerequisite(s): (MATH 1508 w/C or better)

CS 2202.  Discrete Structures II.  

Discrete Structures II: Topics include induction and recursion, fundamental techniques of counting, common classes of graphs and trees, and models that use graphs and trees. This course ephasizes the connections of its content with Computer Science.

Department: Computer Science

2 Credit Hours
2 Total Contact Hours
0 Lab Hours
2 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 1411 w/C or better ) AND (CS 2101 w/C or better)

CS 2210.  Algo. Thinking in Prob. Solv..  

Algorithmic Thinking in Problem Solving: Provide practice on solving problems employers use during interviews through development of analytical, coding and communication skills.

Department: Computer Science

2 Credit Hours
2 Total Contact Hours
0 Lab Hours
2 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 2302 w/C or better ) AND (MATH 2300 w/C or better ) OR (CS 2202 w/C or better)

CS 2302.  Data Structures.  

Data Structures: Abstract data types, representation of data using sets, lists trees and graphs. Storage allocation and collection techniques. [Common Course Number COSC 2336]

Department: Computer Science

3 Credit Hours
6 Total Contact Hours
3 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 2401 w/C or better ) AND (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (MATH 2300 w/C or better)

CS 2401.  Elem. Data Struct./Algorithms.  

Programming and Algorithms: Second course for students majoring in Computer Science. Fundamental computing algorithms including searching and sorting; elementary abstract data types including linked lists, stacks, queues and trees; introduction to algorithm analysis. [Common Course Number COSC 1437]

Department: Computer Science

4 Credit Hours
6 Total Contact Hours
3 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 1401 w/C or better ) OR (CS 1101 w/C or better AND CS 1301 w/C or better)

CS 3195.  Junior Professionl Orientation.  

Junior Professional Orientation (1-0) Introduction to the Computer Science profession with a special emphasis on professional ethics. Required of all students prior to graduation. Prerequisite: CS 2302 with a grade of "C" or better.

Department: Computer Science

1 Credit Hour
1 Total Contact Hour
0 Lab Hour
1 Lecture Hour
0 Other Hour

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 3331.  Adv. Object-Oriented Programng.  

Advanced Object-Oriented Programming (3-0) An in-depth exposure to the object-oriented programming paradigm, which builds upon programming experience gained in lower-level computer science classes. Emphasis on programming in an object-oriented language with which students are already familiar, and on requirements, testing, code reading, and comprehension. Prerequisite: CS 2302 with a grade of "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 3350.  Automata/Computabi/Formal Lang.  

Automata, Computability and Formal Languages (3-0) Theoretical computing models and the formal languages they characterize: finite state machines, regular expressions, pushdown automata, context-free grammars, Turing machines and computability. Capabilities and limitations of each model, and applications including lexical analysis and parsing. Restricted to majors: CS, EECE Prerequisite: (CS 2302 AND MATH 2300) OR (CS 2401 AND MATH 2300).

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 2302 w/C or better AND MATH 2300 w/C or better ) OR (CS 2401 w/B or better AND MATH 2300 w/B or better)

CS 3360.  Design/Implementation Prog Lan.  

Design and Implementation of Programming Languages (3-0) Design features of modern programming languages, including flow control mechanisms and data structures; techniques for implementation of these features. Prerequisites: CS 2302 with grade of "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 3432.  Comp Arch I: Comp Org/Design.  

Computer Architecture I: Basic Computer Organization and Design (3-3) Compile and assembly processes; machine organization; fetch/ decode/execute process; symbolic coding of instructions and data, including instruction types, formats, and addressing modes; implementation of data and control structures, subroutines, and linkage; and input/output handling at the assembly level, including memory-mapped I/O and interrupt and exception handling. Prerequisites: (CS 2302 and EE 2369 and EE 2169 and MATH 2300) OR (CS 2401 and EE 2369 and EE 2169 and MATH 2300).

Department: Computer Science

4 Credit Hours
0 Total Contact Hours
0-3 Lab Hours
0-3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 2302 w/C or better AND EE 2169 w/C or better AND EE 2369 w/C or better AND MATH 2300 w/C or better ) OR (CS 2401 w/B or better AND EE 2169 w/B or better AND EE 2369 w/B or better AND MATH 2300 w/B or better)

CS 4173.  Computer Science Internship.  

A professional internship in an industrial, governmental, or other organization in which a student engages in authentic workplace experiences. To receive a passing grade, the student must submit a written report from the Intership supervisor to the undergradute program director that presents the results of the internship, including a description of applied and acquired skills. Prerequisites: CS 3331 w/a grade of C or better AND departmental approval. Restricted to Major of CS.

Department: Computer Science

1 Credit Hour
6 Total Contact Hour
0 Lab Hour
0 Lecture Hour
6.66 Other Hour

Major Restrictions:
Restricted to majors of CS

Prerequisite(s): (CS 3331 w/C or better)

CS 4175.  Parallel Computing.  

Parallel Computing: The course covers fundamentals of parallel computing, including principles of parallel decomposition, processes communication and coordination, architecture, parallel algorithms, analysis, and programming.

Department: Computer Science

1 Credit Hour
1 Total Contact Hour
0 Lab Hour
1 Lecture Hour
0 Other Hour

Prerequisite(s): (CS 3331 w/C or better AND CS 3432 w/C or better)

CS 4177.  Software Vulnerabilities.  

Software Vulnerabilities Hands-on workshop-style course covering common software security vulnerabilities. The course will consist of 10 workshops, each covering a particular current software vulnerability.

Department: Computer Science

1 Credit Hour
2 Total Contact Hour
2 Lab Hour
0 Lecture Hour
0 Other Hour

Prerequisite(s): (CS 3432 w/C or better)

CS 4273.  Computer Science Internship.  

A professional internship in an industrial, governmental, or other organization in which a student engages in authentic workplace experiences. To receive a passing grade, the student must submit a written report from the internship supervisor to the undergraduate program director that presents the results of the internship, including a description of applied and acquired skills. Prerequisites: CS 3331 w/a grade of C or better AND departmental approval. Restricted to Major of CS.

Department: Computer Science

2 Credit Hours
13 Total Contact Hours
0 Lab Hours
0 Lecture Hours
13.33 Other Hours

Major Restrictions:
Restricted to majors of CS

Prerequisite(s): (CS 3331 w/C or better)

CS 4310.  Software Eng: Requirements Eng.  

Software Engineering: Requirements Engineering (3-0) Methodologies, approaches, and techniques associated with software requirements analysis and definition; process for defining requirements of a system including feasibility study, requirements elicitation, formal specification, modeling, validation, verification, and documentation; other topics include cooperative teamwork and project management; first semester of a two-semester capstone project in which students work with a customer to capture and specify requirements for a real-world application. Restricted to majors: CS and EECE. Prerequisites: CS 3331 with a grade of "C" or better and departmental approval.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 3331 w/C or better)

CS 4311.  Software Eng: Design & Implmnt.  

Software Engineering: Design and Implementation (3-0) Methodologies, approaches, and techniques associated with software design, implementation, and testing of a software system; other topics include cooperative teamwork, project management, and documentation; second semester of a two semester capstone project in which students design and implement a real-world application specified in CS4310. Prerequisite: CS 4310 with a a grade of "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 4310 w/C or better)

CS 4316.  Computer Networks.  

Computer Networks (3-0) Introduction to data communications. Covered topics include: data transmission, link control, encoding, multiplexing, switching, network topologies, address resolution, protocol layering, routing methods, data security, and distributed systems. Prerequisite: CS 2302 and CS 3432 each with a grade of "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 2302 w/C or better AND CS 3432 w/C or better)

CS 4317.  Human-Computer Interaction.  

Human-Computer Interaction (3-0) Models and methods of human-computer interaction. Human perception and cognition; properties of input and output devices; interface development methods, including task analysis, use-centered design, prototyping; evaluation techniques such as heuristic evaluation, cognitive walkthroughs, usability testing; design for the desktop, the Web and mobile devices; user interface programming. Prerequisite: CS 2302 with a grade of "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4318.  Wireless Networks.  

Wireless Networks This introductory course in mobile and wireless networks provides a mixture of theoretical, engineering, and practical topics in contemporary wireless systems. The course covers fundamental techniques in design and operation of the second, third, and fourth generations of wireless LANs, and it places a significant emphasis on the design of security-related features within wireless networks.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4320.  Artificial Intelligence.  

Artificial Intellegnce (3-0) Introduction to basic concepts and techniques of artificial intellegence including representation, search strategies, expert systems and applications. Restricted to majors: CS, EECE. Prerequisite: CS 2302 with a grade of "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4330.  Mobile Application Development.  

Introduction to mobile applications, object-oriented application framework, and design patterns; core concepts of mobile platforms, such as Android and iOS; and design and development of (secure) mobile applications. Specific topics include user interface, process creation and life- cycle events, local and remote process services, location- based facilities, accelerometer and other on-device sensors, messaging and networking, sound and multimedia, and security facilities. Prerequisite: CS 3331 with a grade of C or better. Restricted to Majors of CS and EE.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Major Restrictions:
Restricted to majors of CS, EE

Prerequisite(s): (CS 3331 w/C or better)

CS 4339.  Secure Web-Based Systems.  

An introduction to web-based technology and applications, emphasizing development and security. Topics may include: client- and server-side programming; web services; e-business models; security and privacy issues; the provisioning, development, and deployment of web sites, including dynamic web content generation and the management of database back ends; legal and business aspects; and relevant legal aspects.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4342.  Data Base Management.  

Data Base Management (3-0) Introduction to data base concepts, hierarchical, network and relational data models, data description and query languages, file and index organization, and file security and integrity. Restricted to majors: CS, EECE. Prerequisites: CS 2302 with "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4351.  Computer Security.  

Computer Security (3-0) General concepts and applied methods of computer security, especially as they relate to confidentiality, integrity, and availability of information assets. Topics include system security analysis; access control and security models; identification and authentication; protection against external and internal threats; communication protocols; Internet security. Prerequisite: CS 3432 with a grade of "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 3432 w/C or better)

CS 4361.  Machine Learning.  

Machine Learning Machine Learning studies the development of programs that can improve in the performance of a task with experience. For many difficult problems, such as speech understanding, image classification, and text analysis, solutions based on machine learning outperform all others proposed to date. In this course we will study several of the most commonly used machine learning algorithms, their application to problems in several areas of interest, and their quantitative evaluation. We will also discuss current research issues in machine learning. Each student will do a research project related to a problem of his/her interest.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4362.  Data Mining.  

Data Mining The focus of this course is exploration of data to discover knowledge. The topics covered in this course are useful to gain insights from big data and to develop expertise in mining massive datasets. In addition to the state-of-the-art algorithms used in the knowledge discovery process, the course will cover recent literature on big data analytics. Along with regular lectures and discussions in this course, there will be a semester-long group-project and hands-on activities, especially on algorithm design, tool development , and data analysis.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4363.  Computer Vision.  

Computer Vision Computer Vision is concerned with the development of programs that enable computers to extract useful information from digital images. In this course we will study techniques for solving several of the most relevant problems in computer vision, including thre-dimensional reconstruction, object detection, object recognition, surveillance, robot navigation, medical image analysis, and computational photography. Each student will do a research project related to a problem of his/her interest.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4364.  Topics in Data Science.  

Introduction to advanced concepts and algorithms in data science and their applications. Topics may include deep learning, speech processing, language processing, data integration, information retrieval, and information visualization. May be repeated for credit when topic varies.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4365.  Topics in Soft Computing.  

Topics in Soft Computing (3-0) Introduction to basic concepts and techniques of soft computing, including neural, fuzzy, evolutionary, and interval computations, and their applications. This course may be repeated for credit when topic varies. Restricted to majors: CS, EE, and EECE. Prerequisites: MATH CS 2302 w/a grade of C or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4371.  Computer Science Problems.  

Computer Science Problems (0-0-3) Original investigation of special problems selected by the student in consultation with the instructor and with the permission of the Chairperson of the Computer Science Department. May be repeated for credit. Major Restriction: CS Prerequisites: Senior standing in Computer Science and department approval

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
0 Lecture Hours
3 Other Hours

CS 4373.  Computer Science Internship.  

A professional internship in an industrial, governmental, or other organization in which a student engages in authentic workplace experiences. To receive a passing grade, the student must submit a written report from the internship supervisor to the undergraduate program director that presents the results of the internship, including a description of applied and acquired skills. Prerequisites: CS 3331 w/a grade of C or better AND departmental approval. Restricted to Major of CS.

Department: Computer Science

3 Credit Hours
20 Total Contact Hours
0 Lab Hours
0 Lecture Hours
20 Other Hours

Major Restrictions:
Restricted to majors of CS

Prerequisite(s): (CS 3331 w/C or better)

CS 4374.  Software Construction.  

Survey of professional software construction techniques and practices including agile development, software tools and environments, configuration management, defect tracking, coding style, coding standards, cross-compilation, techniques for optimization (time, space, and I/O bandwidth) , re-factoring, software maintenance, and software development automation. Provides and integrated view of subjects related to the different phases of software development.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 3331 w/C or better)

CS 4375.  Theory of Operating Systems.  

Theory of Operating Systems (3-0) Process and thread management, concurrency, memory management, processor scheduling, I/O management and disk scheduling, and file management. Prerequisite: CS 3432 with a grade of "C" or better.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 3432 w/C or better)

CS 4376.  Comp Dcsn-Mkng & Risk Analysis.  

The course covers a variety of mathematical and computational techniques for modeling and analyzing security problems; fundamentals of mathematical approaches for analyzing risk, decision-making under uncertainty, adversarial reasoning, extracting patterns from data for modeling and analysis; and methods to analyze security problems in rigorous ways. The course includes case studies and examples related to security to illustrate techniques and contemporary issues in cyber security. Prerequisites: CS 2302 with a grade of C or better. Restricted to Majors of CS.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Major Restrictions:
Restricted to majors of CS

Prerequisite(s): (MATH 2300 w/C or better ) OR (CS 2202 w/C or better ) AND (CS 2302 w/C or better)

CS 4379.  Software Reverse Engineering.  

The course focuses on incorporating security technologies and methods into new and existing systems; using reverse engineering techniques and methodologies to explore the internal operations of compiled, executable machine code to identify possible security vulnerabilities and examine ways attackers can expose such vulnerabilities; analyzing threats; applying methods to prevent and defeat attacks; and understanding the ethical responsibilities and obligations associated with developing, acquiring, and operating software systems.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 3432 w/C or better)

CS 4381.  Topics Software Engineering.  

Topics Software Engineering Topics related to techniques, methods, approaches, and paradigms in software engineering. Example topics include agile development, aspect-oriented development, formal methods, and model-driven development. May be repeated for credit when topic varies.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Prerequisite(s): (CS 3331 w/C or better)

CS 4387.  Software Integration and V&V.  

The course covers the principles and processes of validation, verification, and integration within a disciplined software development environment. Topics include efficient integration of software systems or components that meet customer requirements and needs; disciplined approaches for integration and testing throughout the development life cycle, selection of alternative methods for integration and testing, and fault diagnosis; use of static and dynamic testing techniques and tools to identify code vulnerabilities; testing based on attack patterns; and penetration testing. Prerequisites: CS 3331 with a grade of C or better. Restricted to Majors of CS.

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours

Major Restrictions:
Restricted to majors of CS

Prerequisite(s): (CS 3331 w/C or better)

CS 4390.  Special Topics in Computer Sci.  

Special Topics in Computer Science (3-0) Selected topics of current interest in computer science. May be repeated for credit when topic varies. Major Restriction: CS Prerequisistes: Senior standing in computer science and department approval

Department: Computer Science

3 Credit Hours
3 Total Contact Hours
0 Lab Hours
3 Lecture Hours
0 Other Hours