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.

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)

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.

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)

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.

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)

CS 1301. Intro to Computer Science.

Intro to Computer Science This class will help Computer Science majors to be active learners, undestand the motivations for computing, basic concepts of algorithms, basic computer organization, and impacts of computing, develop problem-solving skills, implement solutions to computing problems in a high-level programming language, and build team skills, critical- thinking skills, and profressionalism. MATH 1508 and MATH 1411 with C or better Pre-requesite CS 1101 Co-requisite.

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 (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)

Corequisite(s): CS1101

CS 1310. Intro-Computational Thinking.

Introduction to Computational Thinking (3-0) Common Course Number: COSC 1301 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.

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.

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)

CS 1401. Intro to Computer Science.

Introduction to Computer Science (3-3) 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.

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)

CS 2302. Data Structures.

Data Structures (3-3) Common Course Number: COSC 2318 Abstract data types, representation of data using sets, lists trees and graphs. Storage allocation and collection techniques.

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)

CS 2401. Elem. Data Struct./Algorithms.

Programming and Algorithms (3-3) 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.

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

Prerequisite(s): (CS 1101 w/C or better ) AND (CS 1301 w/C or better ) OR (CS 1401 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.

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

Prerequisite(s): (CS 2302 w/C or better ) OR (CS 2402 w/C or better)

CS 3320. Comp Arch II: Adv. Design /Imp.

Computer Architecture II: Advanced Computer Design and Implementation (3-0) The organization and structure of the major hardware components of computers; the mechanics of information transfer and control within digital computer systems.

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

Prerequisite(s): (CS 3432 w/C or better ) AND (EE 2369 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.

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

Classification Restrictions:
Restricted to class of JR,SR

Prerequisite(s): (CS 2302 w/C or better ) OR (CS 2402 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.

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.

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

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

CS 3370. Computer Graphics.

Computer Graphics (3-0) An introduction to representation and display of graphical information including line, character and curve generation. Emphasis on two-dimensional techniques.

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

Major Restrictions:
Restricted to majors of CS,EECE

Prerequisite(s): (CS 2302 w/C or better ) OR (CS 2402 w/C or better ) AND (MATH 3323 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.

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.

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 4181. Undergraduate Seminar.

Undergraduate Seminar (1-0) Advanced topics in computer science. Presentation and discussion of various topics in computer science by faculty, students, speakers from other institutions and from industry.

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

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.

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.

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.

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.

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.

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

Prerequisite(s): (CS 2402 w/C or better ) OR (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.

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

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.

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

Prerequisite(s): (CS 2402 w/C or better ) OR (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.

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.

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

Prerequisite(s): (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.

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

Major Restrictions:
Restricted to majors of CS,EECE

Prerequisite(s): (CS 2302 w/C or better ) OR (CS 2402 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.

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 4352. Compilers and Interpreters.

Compilers and Interpreters (3-0) The structure of compilers and interpreters: lexical syntax and semantic analysis, formal description of programming languages, parsing techniques, intermediate languages, optimization and code generation.

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

Prerequisite(s): (CS 3333 w/C or better ) OR (CS 3350 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.

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

Prerequisite(s): (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.

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

Prerequisite(s): (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.

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

Prerequisite(s): (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.

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

Prerequisite(s): (CS 2302 w/C or better ) OR (CS 2402 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.

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.

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.

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.

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

Prerequisite(s): (CS 2302 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.

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.

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 2302 w/C or better)

CS 4377. Cyber-Sec for Critical Op Tech.

The course explores a variety of topics associated with the cyber-security of operational technology supporting critical sectors as defined by the U.S Department of Homeland Security. The course provides hands-on experience on the construction and configuration of cyber- infrastructures to secure critical operational technology components such as Programmable Logic Controllers (PLC). Students work in teams to simulate an operational technology component using off-the-shelf hardware and software, and develop a secure cyber-infrastructure to prevent the component from being compromised.

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 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.

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 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.

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.

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

CS 4392. Rsrch Methods/Computer Science.

Research Methods in Computer Science (3-0) An advanced course in the skills needed for research in Computer Science, including a survey of the various research paradigms and experimental protocols used across the field. Within a particular research area of the student's choice, a student will learn to: judge whether a question is a research question; design an appropriate experiment to answer a research question; interpret the results of an experiment, including selection and application of appropriate statistical tests; present and defend their research orally and in writing.

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

CS 4393. Senior Project.

Senior Project (0-0-3) Research and analysis leading to a new publishable theoretical result or a new useful sophisticated piece of software. Includes formal project proposal, generation of a well-documented report, and a presentation of the results to faculty and students. Intended to allow advanced undergraduate students to actively and productively participate in research. A research topic must be selected by the student in consultation with the instructor and with the permission of the Head of Computer Science.

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