• No results found

114 Computer Science and Engineering

In document Course Offerings Bulletin (Page 117-119)

2421 Systems I: Introduction to Low-Level Programming and

Computer Organization U

Introduction to computer architecture at machine and assembly language level; pointers and addressing; C programming at machine level; computer organization.

Prereq: 1232, 1233, 2231, or 321, and 2321, Math 2566, or 366. Not open to students with credit for 360.

4

2431 Systems II: Introduction to Operating Systems U

Introduction to operating system concepts: process, CPU scheduling, memory management, file system and storage, and multi-threaded programming.

Prereq: 2451 or 459.21, and 2421, 360, or ECE 2560 (265). Not open to students with credit for 5431 (660).

3

2451 Advanced C Programming U

Advanced C features for students with significant programming experience in another language.

Prereq: 2221 or 222. Concur: 2231 or 321. Not open to students with credit for 2421.

2

2501 Social, Ethical, and Professional Issues in Computing U

Social, ethical, and professional issues facing computing professionals; ethical principles; discussion of case studies.

Prereq: 1222, 1223, 2231, 214, 222, or 230, and 2321 or Math 366, and Gen Ed Writing Level 2. Not open to students with credit for 5501 (601).

1

3231 Software Engineering Techniques U

Software engineering issues, techniques, methodologies and technologies; software lifecycle activities: requirements analysis, architecture, design, testing, deployment, maintenance; project management; enterprise software systems; frameworks.

Prereq: 3901 or 3902 or 3903. Not open to students with credit for 5231 (757).

3

3232 Software Requirements Analysis U

Information systems analysis; object-oriented analysis models and tools; use cases, system modeling using UML; requirements specification development; term project.

Prereq: 3241 or 3901 or 3902 or 3903 (560) or 5241 (670). Not open to students with credit for 5232 (616).

3

3241 Introduction to Database Systems U

Database systems use, logical design, entity-relationship model, normalization, query languages and SQL, relational algebra and calculus, object relational databases, XML, active databases; database design project.

Prereq: 2133 or 2231 or 2233 (314) or 321, and 2321 or Math 2366 (366). Not open to students with credit for 5241 (670).

3

3321 Automata and Formal Languages U

Machine-based and grammatical models of computation; finite automata and regular languages, pushdown automata and context-free languages, Turing machines; non- determinism; Church's Thesis.

Prereq: 2231 or 321, and 2421 or 360, and 2331 or Math 566. Not open to students with credit for 5321 (625).

3

3341 Principles of Programming Languages U

Formal languages and grammars; recursive descent parsing; data types, expressions, control structures, parameter passing; compilers and interpreters; memory management; functional programming principles.

Prereq: 2231, 2331 (680), and 2421, and 3901 (560), 3902, or 3903. Not open to students with credit for 5341 (655).

3

3421 Introduction to Computer Architecture U

Organization of hardware and software in modern computer systems, including instruction set design, processor control, ALU design, pipelining, multicores and accelerators, and memory subsystem design.

Prereq: 2231 or 321, and 2421, 2560, 265, or 360, and 2000 or 261. Not open to students with credit for 5421 (675.01) or 675.02.

3

3461 Computer Networking and Internet Technologies U

Computer networks, communication protocols, Internet TCP/IP and applications, wireless communications and network security.

Prereq: 2451, and 2421 or ECE 2560 (265). Concur: 2431. Not open to students with credit for 5461 (677).

3

3521 Survey of Artificial Intelligence I: Basic Techniques U

Survey of basic concepts and techniques in artificial intelligence, including problem solving, knowledge representation, and machine learning.

Prereq: 2331, or 222 and Math 366, or Sr standing. Not open to students with credit for 5521 (630).

3

3541 Computer Game and Animation Techniques U

Fundamental algorithms and mathematics in production of computer animation and video games, emphasizing control and rendering of animated characters.

Prereq: 3901 or 3902 or 3903 (560). Not open to students with credit for 5541 (683).

3

3901 Project: Design, Development, and Documentation of

Web Applications U

Intensive group project involving design, development, and documentation of a web application; client-side and server-side scripting; communication skills emphasized; builds programming maturity.

Prereq: 2231 or 321, and 2321 or Math 366, and CSE 2421, 360, or ECE 2560 (265), and CSE 2451, 459.21, or 459.22, and second level writing course.

4

3902 Project: Design, Development, and Documentation of

Interactive Systems U

Intensive group project involving design, development, and documentation of an interactive software system, a 2D interactive game; communication skills emphasized; builds programming maturity.

Prereq: 2231 or 321, and 2321 or Math 366, and 2421, 360, or ECE 2560 (265), and CSE 2451, 459.21, or 459.22, and second level writing course.

4

3903 Project: Design, Development, and Documentation of

System Software U

Intensive group project involving design, development, and documentation of system software including an assembler and a linking loader; communication skills emphasized; builds programming maturity.

Prereq: 2231 or 321; and 2321 or Math 366; and CSE 2421 or (CSE 360, ECE 2560, or 265 and CSE 2451, 459.21, or 459.22); and Second Writing course. Not open to students with credit for 560.

4

4191 Professional Practice in Industry U

Preparation and submission of a comprehensive report based on actual employment experience in a co-op job in industry.

Prereq: Permission of the CSE Advising Office. Repeatable to a maximum of 8 completions. This course is progress graded (S/U).

0

4193 Individual Studies in Computer Science and

Engineering U

Designed to give the student an opportunity to pursue special studies not otherwise offered. Prereq: Permission of instructor. Repeatable to a maximum of 10 cr hrs or 10 completions. This course is graded S/U.

1 - 10

4193H Individual Studies in Computer Science and

Engineering U

Designed to give the student an opportunity to pursue special studies not otherwise offered. Prereq: Honors standing, and permission of instructor. Repeatable to a maximum of 10 cr hrs or 10 completions. This course is graded S/U.

1 - 10

4194 Group Studies in Computer Science and Engineering U

Designed to give the student an opportunity to pursue special studies not otherwise offered. Prereq: Permission of instructor. Repeatable to a maximum of 10 cr hrs or 10 completions.

1 - 10

4194H Group Studies in Computer Science and Engineering U

Designed to give the student an opportunity to pursue special studies not otherwise offered. Prereq: Honors standing, and permission of instructor. Repeatable to a maximum of 10 cr hrs or 10 completions.

1 - 10

4251 The UNIX Programming Environment U

Introduction to the UNIX programming environment including: shell programming (csh); regular expressions; makefiles; grep, sed, and awk programming languages.

Prereq: 2231 or 321. Not open to students with credit for 459.11. This course is graded S/U.

1

4252 Programming in C++ U

Syntax and pragmatics of C++ programming; C++ types, arrays, classes, pointers; objects and classes; compile-time vs. run-time picture; inheritance; template classes.

Prereq: 2231. Not open to students with credit for 459.22. This course is graded S/U.

1

4253 Programming in C# U

C# programming for students well-versed in programming with another object-oriented language.

Prereq: 2231. Not open to students with credit for 459.24. This course is graded S/U.

1

4254 Programming in Lisp U

Lisp programming for students well-versed in programming with another language. Prereq: 2231. Not open to students with credit for 459.31. This course is graded S/U.

1

4255 Programming in Perl U

Syntax and pragmatics of Perl programming; Perl mechanisms for text and file processing, scripting, client-server programming, etc.; powerful ways to combine these mechanisms. Prereq: 2231, 2331, and 2421. Not open to students with credit for 459.51. This course is graded S/U. Cross-listed in ISE 5811.

1

4471 Information Security U

Introduction to security of digital information; threats and attacks; regulations; risk management; attack detection and response; cryptography; forensics; technical training and certifications.

Prereq: 2231 and 2321, or 321. Not open to students with credit for 551.

Computer Science and Engineering 115

4998 Undergraduate Research in Computer Science and

Engineering U

Opportunity for undergraduate student to conduct research in Computer Science and Engineering.

Prereq: Permission of instructor. Repeatable to a maximum of 10 cr hrs or 10 completions. This course is graded S/U.

1 - 10

4998H Undergraduate Research in Computer Science and

Engineering U

Opportunity for undergraduate student to conduct research in Computer Science and Engineering.

Prereq: Honors standing, and permission of instructor. Repeatable to a maximum of 10 cr hrs or 10 completions. This course is graded S/U.

1 - 10

4999 Computer Science and Engineering Research for

Thesis U

Supervised research and project work arranged individually.

Prereq: Permission of instructor. Repeatable to a maximum of 10 cr hrs or 10 completions. This course is graded S/U.

1 - 10

4999H Computer Science and Engineering Research for

Thesis U

Supervised research and project work arranged individually for honors students.

Prereq: Honors standing, and permission of instructor. Repeatable to a maximum of 10 cr hrs or 10 completions. This course is graded S/U.

1 - 10

5022 Software I: Software Components U G

Intellectual foundations of software engineering; design-by-contract principles; mathematical modeling of software functionality; component-based software from client perspective; layered data representation. Previous programming experience in any language required. Prereq: At least one term of Calculus. Not open to students with credit for 2221, 2231, 4221, 321, or 502. Not open to students enrolled in a CSE or CIS major.

3

5023 Software II: Software Development and Design U G

Data representation using hashing, search trees, and linked data structures; algorithms for sorting; using trees for language processing; component interface design; best practices in Java.

Prereq: 2221 or 5022. Not open to students with credit for 2231, 2231.01, 321, or 421.

3

5052 Survey of Artificial Intelligence for Non-Majors U G

Survey of the basic concepts and techniques in artificial intelligence, including problem solving, knowledge representation, and machine learning.

Prereq: 1211, 1221, 1222, 1223, or 2221, or Grad standing. Not open to students with credit for 3521 (630), 4521, or 5521, or students enrolled in a CSE or CIS major.

3

5231 Software Engineering Techniques U G

Software engineering issues, techniques, methodologies and technologies; software lifecycle activities: requirements analysis, architecture, design, testing, deployment, maintenance; project management; enterprise software systems; frameworks.

Prereq: 3901 or 3902 or 3903 (560). Not open to students with credit for 3231 (757).

2

5232 Software Requirements Analysis U G

Information systems analysis; object-oriented analysis models and tools; use cases, system modeling using UML; requirements specification development; term project.

Prereq: 3241 or 3901 or 3902 or 3903 (560) or 5241 (670). Not open to students with credit for 3232 (616).

2

5234 Distributed Enterprise Computing U G

Current application and middleware frameworks for distributed enterprise computing; XML; Enterprise Java; SOAP and REST web services; AJAX and JSON; enterprise service bus; Hadoop; mobile computing.

Prereq: 2431 or 5431 (660). Not open to students with credit for 769.

3

5235 Applied Enterprise Architectures and Services U G

Modeling/analysis of complex enterprise architectures; enterprise patterns (workflow, broker, warehousing); methods for service performance (lean, ontologies, data mining, etc.); emerging topics in semantic cyber-infrastructures, social computation.

Prereq: 5911 (758 and 762), 5912 (786), 5913 (682), 5914 (731), 5915 (772), or 778.

3

5236 Mobile Application Development U G

Mobile application development frameworks; Architecture, design and engineering issues, techniques, methodologies for mobile application development.

Prereq: 3901 or 3902 or 3903 (560).

3

5239 Intermediate Studies in Software Engineering U G

Intermediate-level topics in software engineering. Repeatable to a maximum of 12 cr hrs.

2

5241 Introduction to Database Systems U G

Database systems use; logical design; entity-relationship model; normalization; query languages and SQL; relational algebra and calculus; object relational databases; XML; active databases; database design project.

Prereq: 2133 or 2231 or 2233 (314) or 321, and 2321 or Math 2366 (366). Not open to students with credit for 3241 (670).

2

5242 Advanced Database Management Systems U G

Transaction management; query processing and optimization; organization of database systems, advanced indexing, multi-dimensional data, similarity-based analysis, performance evaluation, new database applications.

Prereq: 3241. Not open to students with credit for 770.

3

5243 Introduction to Data Mining U G

Knowledge discovery, data mining, data preprocessing, data transformations; clustering, classification, frequent pattern mining, anomaly detection, graph and network analysis; applications.

Prereq: 3241 or 5241, and 2331, 5331, Stat 3301, or ISE 3200. Not open to students with credit for 674.

3

5245 Introduction to Network Science U G

Introduction to Network Science; Global and Local Network Measures; PageRank; Community Discovery Algorithms; Network Models; Understanding the role of network analysis in Web and Social network applications.

Prereq: 2331.

3

5249 Intermediate Studies in Databases U G

Intermediate-level topics in databases. Repeatable to a maximum of 12 cr hrs.

2

5321 Automata and Formal Languages U G

Machine-based and grammatical models of computation; finite automata and regular languages, pushdown automata and context-free languages, Turing machines; non- determinism; Church's Thesis; halting problem.

Prereq: 2231 or 321, and 2421 or 360, and 2331 or Math 566. Not open to students with credit for 3321 (625).

2

5329 Intermediate Studies in Computation Theory U G

Intermediate-level topics in computation theory. Repeatable to a maximum of 12 cr hrs.

2

5331 Foundations II: Data Structures and Algorithms U G

Design/analysis of algorithms and data structures; divide-and-conquer; sorting and selection, search trees, hashing, graph algorithms, string matching; probabilistic analysis; randomized algorithms; NP-completeness.

Prereq: 2231 or 321, and 2321 or Math 366, and 2566 (566), and Stat 3470 (427). Not open to students with credit for 2331 (680).

2

5339 Intermediate Studies in Algorithms U G

Intermediate-level topics in algorithms. Repeatable to a maximum of 12 cr hrs.

2

5341 Principles of Programming Languages U G

Formal languages and grammars; recursive descent parsing; data types, expressions, control structures, parameter passing; compilers and interpreters; memory management; functional programming principles.

Prereq: 2231, 2331 (680) and 2421, and 3901 (560), 3902, or 3903. Not open to students with credit for 3341 (655).

2

5343 Compiler Design and Implementation U G

Lexical and syntax analysis using compiler generation tools; type checking; intermediate code; control-flow analysis; dataflow analysis; code optimizations; code generation; compiler project.

Prereq: 3901 (560), 3902, or 3903, and 3341 (655). Not open to students with credit for 756.

3

5349 Intermediate Studies in Programming Languages U G

Intermediate-level topics in programming languages. Repeatable to a maximum of 12 cr hrs.

2

5351 Introduction to Cryptography U G

Foundations of cryptography; mathematical formulations/proofs of security goals; theory and practical constructions of encryption schemes, MACs, digital signatures; zero-knowledge proof systems; cryptographic protocols.

Prereq: 2331 (680), 5331, Math 4573 (573), or 4580 (580), and Stat 3460 (427) or 3470. Not open to students with credit for 723 or 794Q.

3

5359 Intermediate Studies in Cryptography U G

Intermediate-level topics in cryptography. Repeatable to a maximum of 12 cr hrs.

2

5361 Numerical Methods U G

Numerical methods for scientific computation: computer arithmetic, rounding errors, machine precision, machine representation, root-finding, interpolation, integration, linear systems, splines, smoothing, curve-fitting, linear programming.

Prereq: 2231, and Math 2568 (268) or 571, and 1151 (151). Not open to students with credit for 541.

3

5421 Introduction to Computer Architecture U G

Organization of hardware and software in modern computer systems, including instruction set design, processor control, ALU design, pipelining, multicores and accelerators, and memory subsystem design.

Prereq: 2231 or 321, and 2421 (360) or ECE 2560 (265), and 2000 or 261. Not open to students with credit for 3421 (675.01 or 675.02).

In document Course Offerings Bulletin (Page 117-119)