Courses

CSCE 2004. Programming Foundations I (Sp, Fa). 4 Hours.

Introductory programming course for students majoring in computer science or computer engineering. Software development process: problem specification, program design, implementation, testing and documentation. Programming topics: data representation, conditional and iterative statements, functions, arrays, strings, file I/O and classes. Using C++ in a UNIX environment. Corequisite: Lab component. Prerequisite: MATH 2554 or MATH 2554C with a grade of C or better.

CSCE 2014. Programming Foundations II (Sp, Fa). 4 Hours.

This course continues developing problem solving techniques by focusing on fundamental data structures and associated algorithms. Topics include: abstract data types, introduction to object-oriented programming, linked lists, stacks, queues, hash tables, binary trees, graphs, recursion, and searching and sorting algorithms. Using C++ in a UNIX environment. Corequisite: Lab component. Prerequisite: CSCE 2004 with a grade of C or better.

CSCE 2114. Digital Design (Sp, Fa). 4 Hours.

Introduction to the hardware aspects of digital computers, logic gates, flip-flops, reduction, finite state machines, sequential logic design, digital systems, software design tools, hardware description language (VHDL), and implementation technologies. Corequisite: Lab component. Prerequisite: MATH 2554 or MATH 2554C with a grade of C or better.

This course is cross-listed with ELEG 2904.

CSCE 2214. Computer Organization (Sp, Fa). 4 Hours.

Presents the relationship between computing hardware and software with a focus on the concepts for current computers. CPU design topics are covered including various techniques for microprocessor design and performance evaluation. Corequisite: Lab component. Prerequisite: CSCE 2114 with a grade of C or better.

CSCE 3193. Programming Paradigms (Sp, Fa). 3 Hours.

Programming in different paradigms with emphasis on object oriented programming and network programming. Survey of programming languages, event driven programming, and concurrency. Prerequisite: CSCE 2014 with a grade of C or better.

CSCE 3193H. Honors Programming Paradigms (Fa). 3 Hours.

Programming in different paradigms with emphasis on object oriented programming and network programming. Survey of programming languages, event driven programming, and concurrency. Prerequisite: CSCE 2014 with a grade of C or better.

This course is equivalent to CSCE 3193.

CSCE 3213. Cluster Computing (Irregular). 3 Hours.

Cluster computing solves problems too large in terms of memory or run time for a single workstation. Common approaches to these problems combine the resources of multiple computers to collectively find the solution. High performance computing is quickly expanding to areas including: chemistry, physics, mathematics, engineering, bio-informatics, finance, logistics, etc.

CSCE 3513. Software Engineering (Sp, Fa). 3 Hours.

A modern approach to the current techniques used in software design and development. This course emphasizes the use of modern software development tools, multi-module programming, and team design and engineering. Prerequisite: CSCE 3193 or CSCE 3193H with a grade of C or better.

CSCE 3613. Operating Systems (Sp, Fa). 3 Hours.

An introduction to operating systems including topics in system structures, process management, storage management, files, distributed systems, and case studies. Prerequisite: CSCE 2014 and CSCE 2214, each with a grade of C or better.

CSCE 3613H. Honors Operating Systems (Sp). 3 Hours.

An introduction to operating systems including topics in system structures, process management, storage management, files, distributed systems, and case studies. Prerequisite: CSCE 2014 and CSCE 2214, each with a grade of C or better.

This course is equivalent to CSCE 3613.

CSCE 3953. System Synthesis and Modeling (Fa). 3 Hours.

This course instructs the students in the use of modern synthesis and modeling languages and approaches for design automation. This course will teach students the use of HDLs and modeling languages for representing and implementing digital computer systems. Prerequisite: CSCE 2214 with a grade of C or better.

CSCE 4013. Special Topics (Irregular). 3 Hours.

Consideration of computer science topics not covered in other courses. Prerequisite: CSCE 3193 and CSCE 2214. May be repeated for up to 12 hours of degree credit.

CSCE 4023H. Honors Special Topics (Irregular). 3 Hours.

Consideration of current computer engineering honors topics not covered in other courses. Prerequisite: Honors standing.

CSCE 4043. RFID Information Systems Security (Irregular). 3 Hours.

Radio frequency identification (RFID) information systems provide information to users about objects with RFID tags. They require the application of information systems security (INFOSEC) to protect the information from tampering, unauthorized information disclosure, and denial of service to authorized users. This course addresses security and privacy in an RFID system. Prerequisite: INEG 2313.

CSCE 4114. Embedded Systems (Fa). 4 Hours.

The architecture, software, and hardware of embedded systems. Involves a mixture of hardware and software for the control of a system (including electrical, electro-mechanical, and electro-chemical systems). They are found in a variety of products including cars, VCRs, HDTVs, cell phones, pacemakers, spacecraft, missile systems, and robots for factory automation. Corequisite: Lab component. Prerequisite: CSCE 2214 with a grade of C or better.

CSCE 4123. Programming Challenges (Irregular). 3 Hours.

This course studies the principle methods used in the solution of programming contest problems, e.g., data structures strings, sorting, machine arithmetic and algebra, combinatorics, number theory, backtracking, graph traversal, graph algorithms, dynamic programming, grids, and computational geometry. Prerequisite: CSCE 2014.

CSCE 4133. Algorithms (Fa). 3 Hours.

Provides an introduction to formal techniques for analyzing the complexity of algorithms. The course surveys important classes of algorithms used in computer science and engineering. Prerequisite: CSCE 3193 and (MATH 2603 or MATH 2803) or MATH 3423.

CSCE 4213. Computer Architecture (Sp). 3 Hours.

The architecture of modern scalar and parallel computing systems. Techniques for dynamic instruction scheduling, branch prediction, instruction level parallelism, shared and distributed memory multiprocessor systems, array processors, and memory hierarchies. Prerequisite: CSCE 2214 with a grade of C or better.

This course is cross-listed with ELEG 4983.

CSCE 4233. Low Power Digital Systems (Irregular). 3 Hours.

The reduction of power consumption is rapidly becoming one of the key issues in digital system design. Traditionally, digital system design has mainly focused on performance and area trade-offs. This course will provide a thorough introduction to digital design for lower consumption at the circuit, logic, and architectural level. Prerequisite: CSCE 2214 with a grade of C or better.

CSCE 4253. Concurrent Computing (Irregular). 3 Hours.

Programming concurrent processes; computer interconnection network topologies; loosely coupled and tightly coupled paralleled computer architectures; designing algorithms for concurrency; distributed computer architectures. Prerequisite: CSCE 3193.

CSCE 4263. Advanced Data Structures (Irregular). 3 Hours.

This course continues the study of data structures, algorithmic analysis for these data structures, and their efficient implementation to support standard library in programming languages. Topics include: AVL trees, Red-Black trees, Splay trees, Optimal Binary Search trees, 2-3 tree, 2-3-4 tree, B-trees, Segment trees, Leftist Heaps, Binomial Heaps, Fibonacci Heap, Disjoint Set, Hashing, and big integer with hundreds to thousands of digits.Prerequisite: CSCE 3193.

CSCE 4323. Formal Languages and Computability (Sp). 3 Hours.

Finite Automata and regular languages, regular expressions, context-free languages and pushdown automata, nondeterminism, grammars, and Turing machines. Church's thesis, halting problem, and undecidability. Prerequisite: CSCE 4133.

CSCE 4333. Introduction to Integrated Circuit Design (Fa). 3 Hours.

Design and layout of large scale digital integrated circuits using CMOS technology. Topics include MOS devices and basic circuits, integrated circuit layout and fabrication, dynamic logic, circuit design and layout strategies for large scale CMOS circuits. Students may not receive credit for both CSCE 4333 and CSCE 5223. Prerequisite: ELEG 3214 or ELEG 3933 and MATH 2584.

CSCE 4353. CPLD/FPGA-Based System Design (Irregular). 3 Hours.

Field Programmable Logic devices (FPGAs/CPLDs) have become extremely popular as basic building blocks for digital systems. They offer a general architecture that users can customize by inducing permanent or reversible physical changes. This course will deal with the implementation of logic options using these devices. Prerequisite: CSCE 2214 with a grade of C or better.

This course is cross-listed with ELEG 4963.

CSCE 4423. Computer Systems Modeling (Irregular). 3 Hours.

Basic concepts of problem analysis, model design, and simulation experiments. A simulation will be introduced and used in this course. Prerequisite: CSCE 2014 with a grade of C or better and INEG 2313.

CSCE 4433. Cryptography (Irregular). 3 Hours.

This course provides a general introduction to modern cryptography. Topics include: stream ciphers, block ciphers, message authentication codes, public key encryption, key exchange, and signature schemes. Prerequisite: CSCE 2014 with a grade of C or better and (MATH 2603 or MATH 2803).

CSCE 4523. Database Management Systems (Sp). 3 Hours.

Introduction to database management systems, architecture, storage structures, indexing, relational data model, E-R diagrams, query languages, SQL, ODBC, transaction management, integrity, and security. Prerequisite: CSCE 3193 or CSCE 3193H.

CSCE 4543. Software Architecture (Irregular). 3 Hours.

A study of software architecture through the use of case studies drawn from real systems designed to solve real problems from technical as well as managerial perspectives. Techniques for designing, building, and evaluating software architectures. Prerequisite: CSCE 4133 and CSCE 3513.

CSCE 4561. Capstone I (Fa). 1 Hour.

CSCE students complete a comprehensive software capstone project during their final year of undergraduate studies. The project is done over 2 semesters in phases: concept, formal proposal, implementation, and presentation. The projects include and may require the integration of software and human factors and hardware elements and are developed to software engineering methodologies. Prerequisite: CSCE 3513 and (CSCE 3613 or CSCE 3613H) and completion of 96 credit hours.

CSCE 4613. Artificial Intelligence (Irregular). 3 Hours.

Introduction to intelligent agents, AI languages, search, first order logic, knowledge representation, ontologies, problem solving, natural language processing, machine vision, machine learning, and robotics. Prerequisite: CSCE 2014 with a grade of C or better.

CSCE 4623. Mobile Programming (Irregular). 3 Hours.

An introduction to software development on mobile devices. The major topics covered in this course include underlying concepts and principles in mobile programming, as well as hands-on programming experience on mobile devices with an emphasis on smartphones. Prerequisite: CSCE 3193 or CSCE 3193H.

CSCE 4643. Graphics Processing Units Programming (Irregular). 3 Hours.

This course provides an introduction to massively parallel programming using Graphics Processing Units (GPUs). Topics include basic programming model, GPU thread hierarchy, GPU memory architecture, and performance optimization techniques and parallel patterns needed to develop real-life applications.Prerequisite: CSCE 2014 with a grade of C or better.

CSCE 4753. Computer Networks (Irregular). 3 Hours.

This course is an introductory course on computer networks. Using the Internet as a vehicle, this course introduces underlying concepts and principles of modern computer networks, with emphasis on protocols, architectures, and implementation issues. Prerequisite: INEG 2313.

CSCE 4813. Computer Graphics (Irregular). 3 Hours.

Introduction to the theory and algorithms used in computer graphics systems and applications. Topics include: 2D and 3D geometric models (points, lines, polygons, surfaces), affine transformations (rotation, translation, scaling), viewpoint calculation (clipping, projection), lighting models (light-material interactions, illumination and shadow calculation). Students will implement their own graphics pipeline to demonstrate many of these techniques. Higher level computer graphics applications will be created using OpenGL. Prerequisite: CSCE 2014 with a grade of C or better.

CSCE 4853. Information Security (Irregular). 3 Hours.

This course covers principles, mechanisms, and policies governing confidentiality, integrity, and availability of digital information. Topics to be covered include security concepts and mechanisms, security policies, multilevel security models, system vulnerability, threat and risk assessment, basic cryptography and its applications, intrusion detection systems. Prerequisite: CSCE 3193 or CSCE 3193H.

CSCE 490V. Individual Study (Irregular). 1-3 Hour.

Individual study directed by faculty in current research topics, state of the art, or advanced methodology in one of the major computer science or computer engineering areas. May be repeated for up to 3 hours of degree credit.

CSCE 4914. Advanced Digital Design (Irregular). 4 Hours.

To master advanced logic design concepts, including the design and testing of synchronous and asynchronous combinational and sequential circuits using state of the art CAD tools. Corequisite: Lab component. Prerequisite: CSCE 2114 or ELEG 2904.

This course is cross-listed with ELEG 4914.

CSCE 491VH. Honors Thesis (Sp, Fa). 1-3 Hour.

To provide honors students with experience in presenting their research accomplishments to their peers and faculty. Prerequisite: Honors standing. May be repeated for up to 3 hours of degree credit.

CSCE 4963. Capstone II (Sp). 3 Hours.

CSCE students complete a comprehensive capstone project during their final year of undergraduate studies. The project is done over two consecutive semesters in phases: concepts, formal proposal, implementation, and presentation. The projects include and may require the integration of software, human factors, and hardware elements and are developed using software engineering methodologies. Prerequisite: CSCE 4561.

CSCE 5013. Advanced Special Topics in Computer Science or Computer Engineering (Irregular). 3 Hours.

Consideration of current computer engineering or computer science topics not covered in other courses. May be repeated for up to 18 hours of degree credit.

CSCE 5033. Advanced Algorithms (Irregular). 3 Hours.

Design of computer algorithms, with primary emphasis on the development of efficient implementation.

CSCE 5043. Advanced Artificial Intelligence (Irregular). 3 Hours.

In-depth introduction to AI. Topics include: philosophical foundations, cognition, intelligent agents, AI languages, search, genetic algorithms, first order and modal logic, inference, resolution, knowledge representation, ontologies, problem solving, planning, expert systems, uncertainty, probabilistic reasoning, fuzzy logic, machine learning, natural language processing, machine vision, and robotics. Prerequisite: CSCE 4613.

CSCE 5053. Advanced Virtual Worlds (Irregular). 3 Hours.

In depth study of 3D multi-user virtual worlds covering application domains like retail and healthcare logistics, simulations, training, and gaming as well as platform architectures. Students will apply their knowledge of programming and data structures while using synthetic worlds to explore, model and script future smart worlds where computing is pervasive.

CSCE 5063. Machine Learning (Irregular). 3 Hours.

An introduction to machine learning, with particular emphasis on neural network techniques. This course presents the basic principles underlying algorithms that improve with experience, and covers using them effectively for modeling data and making predictions.

CSCE 5073. Data Mining (Irregular). 3 Hours.

This course surveys the most common methods used in data mining and machine learning. It involves several projects in which students will implement tools that are useful for mining knowledge from data and making predictions. The course will study both heuristic algorithms and statistical techniques. Prerequisite: CSCE 3193 and (INEG 2313 or STAT 3013).

CSCE 5203. Advanced Database Systems (Irregular). 3 Hours.

Topics include: object databases, distributed databases, XML query, data warehouses, network as database systems, peer-peer data sharing architectures, data grids, data mining, logic foundations, semantic databases, spatial and temporal databases, and knowledge bases. Prerequisite: CSCE 4523 and graduate standing.

CSCE 5213. Bioinformatics (Irregular). 3 Hours.

Application of algorithmic techniques to the analysis and solution of biological problems. Topics include an introduction to molecular biology and recombinant DNA technology, biological sequence comparison, and phylogenetics, as well as topics of current interest. Prerequisite: Instructor consent.

This course is cross-listed with BENG 5213.

CSCE 5223. Introduction to Integrated Circuit Design (Fa). 3 Hours.

Design and layout of large scale digital integrated circuits using CMOS technology. Topics include MOS devices and basic circuits, integrated circuit layout and fabrication, dynamic logic, circuit design, and layout strategies for large scale CMOS circuits. Students may not receive credit for both CSCE 4333 and CSCE 5223. Prerequisite: ELEG 3214 or ELEG 3933 and MATH 2584.

CSCE 5253L. Integrated Circuit Design Laboratory I (Irregular). 3 Hours.

Design and layout of large scale digital integrated circuits. Students design, check and simulate digital integrated circuits which will be fabricated, and tested in I.C. Design Laboratory II. Topics include computer aided design, circuit timing, and wire delay. Prerequisite: CSCE 4333.

This course is cross-listed with ELEG 5253L.

CSCE 5263. Computational Complexity (Irregular). 3 Hours.

Turing machines, recursion theory and computability, complexity measures, NP-completeness, analysis on NP-complete problems, pseudo-polynomial and approximation.

CSCE 5273. Big Data Analytics and Management (Irregular). 3 Hours.

Topics include principles of distributed data computing and management, design and implementation of non-relational data systems, crowd sourcing and human computation, big data analytics and scalable machine learning, real-time streaming data analysis, and social aware computing. Prerequisite: CSCE 3193 and INEG 2313.

CSCE 5283. Graph and Combinatorial Algorithms (Irregular). 3 Hours.

A study of algorithms for graphs and combinatorics with special attention to computer implementation and runtime efficiency.

CSCE 5313. Advanced Operating Systems (Irregular). 3 Hours.

Concurrent processes and process communication; mutual exclusion and synchronization principles; kernel philosophy; resource allocation and deadlock; and case studies of specific operating systems. Prerequisite: CSCE 3613.

CSCE 5323. Computer Security (Irregular). 3 Hours.

Study of a broad selection of contemporary issues in computer security. Topics include access control, security policies, authentication methods, secure system design, and information assurance. Prerequisite: CSCE 3613.

CSCE 5333. Computer Forensics (Irregular). 3 Hours.

Various methods for identification, preservation, and extraction of electronic evidence at a computer crime scene. Specific topics include auditing and investigation of network and host intrusions, computer forensics tools, resources for system administrators and information security officers, legal issues related to computer and network forensics. Prerequisite: CSCE 5323.

CSCE 5343. Advanced Software Engineering (Irregular). 3 Hours.

This course is about software metrics and models. It will focus on quantitative methods and techniques for management of software projects, design of software systems, and improvement of software quality. The material covered will be metrics and models used in the software lifecycle, such as software requirements metrics, design metrics, implementation metrics, testing metrics, effort estimation model. Prerequisite: CSCE 3513.

CSCE 5363L. Integrated Circuit Design Laboratory II (Irregular). 3 Hours.

Students test the I.C. chips they designed in I.C. Design Laboratory I, and propose design corrections where needed. Topics include bipolar chip design, gate arrays, BICMOS, memory design, design for testability, and dynamic & domino logic. Prerequisite: CSCE 5253L.

This course is cross-listed with ELEG 5263L.

CSCE 5433. Advanced Cryptography (Irregular). 3 Hours.

This course provides an in-depth look into some facet of either cryptographic theory or the implementation of cryptography. Topics may include: the discrete logarithm problem, integer factorization, information theory, elliptic curves, lattices, pseudorandom number generators, zero-knowledge proofs, and quantum cryptography. Prerequisite: CSCE 4433 or instructor consent.

CSCE 5533. Advanced Information Retrieval (Irregular). 3 Hours.

Study of the architecture, implementation, and evaluation of current information retrieval systems. Students will apply their knowledge of programming and data structures to implement a large system with an emphasis on efficiency and scalability. They will study current research in the field and implement individual or group projects on advanced topics.

CSCE 5543. Statistical Natural Language Processing (Irregular). 3 Hours.

Introduction to statistical natural language processing (NLP). Covers the theory and algorithms needed for building NLP tools, provides broad coverage of mathematical and linguistic foundations, and detailed discussion of statistical methods for text mining and information extraction. Current research and applications of statistical NLP will be discussed. Prerequisite: CSCE 2014 and (STAT 3013 or INEG 2313).

CSCE 5633. Network Performance Evaluation (Irregular). 3 Hours.

A study of performance modeling tools for telecommunication networks, computer networks, and wireless networks. Prerequisite: STAT 3013.

CSCE 5643. Computer Communications Networks (Irregular). 3 Hours.

A study of computer communication networks, including the data link layer, routing, flow-control, local area networks, TCP/IP, ATM, B-ISDN, queuing analysis, and recent developments in computer communications.

CSCE 5653. Network Security (Irregular). 3 Hours.

This course introduces security and secrecy in a networked environment. It is intended to familiarize students with the elements of secure communication, and how they inter-relate to provide secure networks in public and private settings.

CSCE 5663. Database Security (Irregular). 3 Hours.

This is an advanced course covering security issues in database systems. Topics to be covered include discretionary and mandatory access control policies, multilevel secure database systems, auditing, data recovery, database intrusion detection, database insider threat, etc. Prerequisite: CSCE 4523.

CSCE 5683. Image Processing (Irregular). 3 Hours.

The objective of this class is to give students a hands-on introduction to the fundamentals of image processing. A variety of image processing techniques and applications will be discussed including image enhancement, noise removal, spatial domain and frequency domain filtering, image restoration, color image processing, image compression, edge detection and image segmentation. Prerequisite: CSCE 4813.

CSCE 5703. Computer Vision (Irregular). 3 Hours.

The objective of this course is to give students a hands-on introduction to the fundamentals of computer vision. Topics include image formation, object modeling, image processing, feature and edge detection, image segmentation, motion estimation, depth from stereo, shape description and object recognition. Prerequisite: CSCE 4813 or CSCE 5683.

CSCE 5823. Multiprocessor Systems on Chip (Irregular). 3 Hours.

This course covers the latest trends in advanced computer architecture for multiprocessor systems on chip for embedded and real time systems. Topics covered include multicore architectures, modeling abstractions, run time systems, and MIMD/SIMD heterogeneous architectures, Hw/Sw co-design techniques. Prerequisite: CSCE 3613 and CSCE 4213.

CSCE 5843. Reconfigurable Computing (Irregular). 3 Hours.

This course will cover emerging and proposed techniques and issues in Reconfigurable Computing. Topics will include FPGA technologies, CAD/CAE tools, Hw/Sw co-design, system level synthesis, programming models and abstractions. Prerequisite: CSCE 4213 and CSCE 3613.

CSCE 590V. Advanced Individual Study (Irregular). 1-3 Hour.

Advanced graduate level individual study directed by faculty in current research topics, state of the art, or advanced methodology in one of the major computer science or computer engineering areas.

CSCE 5943. Computer Arithmetic Circuits (Irregular). 3 Hours.

Examination of fundamental principles of algorithms for performing arithmetic operations in computers. This course provides sufficient theoretical and practical information to prepare the digital design engineer with an awareness of basic techniques for the realization of arithmetic circuits.

CSCE 5983. Application Specific Integrated Circuit Design (Irregular). 3 Hours.

ASIC design is taught with emphasis on industrial preparation. Topics include ASIC technologies, design entry, simulation, and synthesis. Advanced design methods and techniques are studied for cell based and gate array ASICs. Prerequisite: CSCE 4213.

CSCE 610V. Master's Thesis (Sp, Fa). 1-6 Hour.

CSCE 620V. Post-Master's Research (Sp, Fa). 1-18 Hour.

CSCE 700V. Doctoral Dissertation (Sp, Su, Fa). 1-18 Hour.

Doctoral Dissertation. May be repeated for degree credit.