51³Ô¹ÏÍø

Electrical Engineering and Computer Science

Electrical Engineering and Computer Science

Undergraduate Courses in Computer Science


 

2304. Introduction to Computer Science.  3(3-0)

Introduction to computer systems. Problem solving methods and algorithm development. Structured programming: data types, control structures, conditional statements, loops, functions, arrays, pointers, input/output with files. Designing, coding, debugging and documenting programs.

2306. Object-Oriented Programming 3(3-0)

Fundamental features of object-oriented programming, introduction to objects and classes, major concepts of object-oriented programming such as data abstraction, encapsulation, polymorphism, and inheritance. Prerequisite: CSEN 2304

2310. Object-Oriented Software Engineering. 3(3-0)

Object-oriented analysis and modeling, object-oriented design, implementation using an object-oriented language, such as JAVA, object-oriented software development, Unified Modeling Language (UML), Graphical User Interface (GUI). Prerequisite: CSEN 2304

2328. Data Structures and Algorithms. 3(3-0)

Specification and implementation of data types and associated algorithms: lists, stacks, queues, trees, hashing, priority queues, sorting, and graphs. Prerequisite: CSEN 2304.

3314. Database Systems. 3(3-0) 

File and database organization techniques. Network, hierarchical and relational data models. Normalization. Commercially-available DBMS. Query languages. DBMS design and implementation.

3315.  Computer Graphics. 3(3-0)

Man-machine communication in graphical form. Graphics hardware and software. Use of a commercial graphics package. Representation and manipulation of two-and three dimensional data. Use of color. Prerequisite: CSEN 2304.

3316. Software Engineering I. 3(3-0)

Introduction to formal software design principles. An engineering approach to software development. Software project management. Software requirements analysis, specification, design, development and validation. Prerequisite: 6 semester hours of Computer Science or Information Systems.

3330. Android Mobile App Dev. 3(3-0)

Strategies and techniques for designing and developing Android mobile applications, including user interface screen layouts, the definition of program logic, and the connection between them. Prerequisite: CSEN 2306

3331. iOS Mobile App Dev 3(3-0)

Technologies, tools, and techniques used to develop iOS mobile applications including user interface development, gender-based interfaces, integrated location services, multi-touch event handling, Apple iOS platform, Xcode IDE, Objective-C, and Swift programming languages. Prerequisite: CSEN 2306

4201-4202. Senior Project. 4(1-3) [WI 4202]

A major project of an original nature carried to completion over a period of two semesters. Normally taken in the final academic year prior to graduation. Prerequisite: senior standing in Computer Science.

4317. Software Engineering II. 3(3-0)

Advanced software design principles. An engineering approach to software development emphasizing advanced techniques for validation and verification. Prerequisite: CSEN 4316.

4320. Computer Networks. 3(3-0)

Data communication networks and ISO reference model, the electrical interface, data transmission, data link and its protocols, distributed and parallel processing, local area network and its protocols, and wide area network and its protocols. Prerequisite: 6 hours of upper level Computer Science.

4335. Selected Topics. V: 1-3

One or more topics of computer science. May be repeated for a total of 6 semester hours. Prerequisite: consent of instructor.

4336. Special Problems. V: 1-3

Individual solution of selected problems in computer science conducted under direct supervision of a faculty member. May be repeated for up to 6 semester hours. Prerequisite: consent of instructor.

4340. Computer Security. 3(3-0)

Theory and practice of computer security. Cryptographic tools used to provide security, such as shared key encryption, public key encryption, key exchange and digital signature, with application to security in computer programs, operating systems, database management systems and networks. Prerequisite: CSEN 4320.

4360. Cloud Computing 3(3-0)

Models, technologies, techniques, and applications of Cloud Computing. Principles and architectural foundations upon which cloud computing is based. Software design and implementation strategies that support the integration and exploitation of cloud based resources. Integration of cloud infrastructure facilities into the design of software systems. Security considerations associated with cloud computing including the use of public, private, and hybrid cloud resources. Prerequisite: CSEN 2304

4362. Operating Systems. 3(3-0)

Study of operating system principles, including process management, memory management, resource allocation and input, output and interrupt processing. Prerequisite: CSEN 2330 or EEEN 3449.

4366. Programming Languages. 3(3-0)

Formal definition of programming languages including specification of syntax and semantics. Precedence, infix, prefix and postfix notation. Global properties of algorithmic languages. List processing, string manipulation, data description and simulation languages. Run-time representation of program and data structures. Prerequisite: CSEN 2328.

4367. Data Mining. 3(3-0) 

Data mining techniques; implementation, benefits and the outcome expectations from this new technology. Prerequisite: senior standing. 

4370. Cyber Intelligence. 3(3-0)

Analyze attacks by potential adversaries who pose a threat, including attack methods that target people to penetrate systems. Provide a blend of technical skills: network operations, communications, digital forensics or malware reverse engineering; analytical skills: hypothesis testing and alternative testing; and artificial intelligence, machine learning, and data mining techniques to collect, analyze, and interpret cyber-attacks. Prerequisite: CSEN 4372 and at least one of the following: CSEN 4367, CSEN 4375 or CSEN 4380.

4372. Cyber Security. 3(3-0)

Cyber threats and vulnerabilities, data security frameworks, network security, cryptography, system defense, how to analyze threats, information security policy, legal issues, political issues, and safety administration. The course incorporates case studies and projects. Prerequisite: CSEN 2304 and junior standing in a STEM discipline. 

4375. Machine Learning. 3(3-0)

The course covers machine learning algorithms and methods to create models from data and evaluate the models for prediction and decision-making. The course covers supervised and unsupervised learning methods, optimization, computational statistics, and logistic regression. Also, it covers machine learning methods such as decision trees, Bayesian networks, support vector machines, k-nearest neighbors, neural networks, logistic regression, and discriminant analysis. Prerequisite: CSEN 2328 (Data Structures & Algorithms)

4380. Artificial Intelligence. 3(3-0)

The course will introduce the principles, techniques, and applications of AI. Students will be exposed to knowledge representation, problem-solving, logic, inference, search algorithms, game theory, neural networks, planning, learning, agent design, expert systems, and fuzzy logic. Students will learn programming to develop appropriate AI tools and algorithms for cybersecurity problems. Prerequisite: CSEN 2304 (Introduction to Computer Science)

4385. Digital Forensics. 3(3-0)

Computer forensics investigation and analysis. Gather and analyze digital evidence and use critical thinking skills to solve computer-based crimes. Historical and current computer forensic and investigative security issues; a systematic approach to computer investigations; digital forensics, email, image file analysis; and guidelines for investigation reporting. Prerequisite: CSEN 2304

4399. Internship in Computer Science. V: 1-3 

An off-campus learning experience allowing the acquisition, development and application of computer science and information technology skills. Prerequisite: approval of program head or department head.