0% found this document useful (0 votes)
7 views

cse

The document outlines a curriculum for Computer Science and Software Engineering courses, detailing course titles, descriptions, and prerequisites. It includes a variety of topics such as software engineering principles, programming languages, web application development, and machine learning. The curriculum is designed to provide students with foundational knowledge and practical skills in computer science and software engineering disciplines.

Uploaded by

usmanumargaya10
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

cse

The document outlines a curriculum for Computer Science and Software Engineering courses, detailing course titles, descriptions, and prerequisites. It includes a variety of topics such as software engineering principles, programming languages, web application development, and machine learning. The curriculum is designed to provide students with foundational knowledge and practical skills in computer science and software engineering disciplines.

Uploaded by

usmanumargaya10
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Computer Science & Software Engineering (CSE) 1

Computer Science & CSE 177. Independent Studies. (0-6; maximum 10)
CSE 201. Introduction to Software Engineering. (3)
Software Engineering Principles of software engineering: Introduction to all phases of the
software development life cycle and associated tools and engineering
(CSE) methods including the unified modeling language (UML).
Prerequisite or Co-requisite: CSE 274.
CSE 102. Introduction to Computer Science and Software CSE 202. Software Requirements. (3)
Engineering. (3) Domain engineering. Techniques for discovering and eliciting
This course introduces students to the computer science and requirements. Languages and models for representing requirements.
software engineering disciplines. The course focuses on various Analysis and validation techniques, including need, goal, and use case
computing and software design principles and tools used in the analysis. Specifying and measuring external qualities. Traceability.
profession. Students will be able to model, implement, and test these Agile approaches.
principles via projects required throughout the course. This course Prerequisite or Co-requisite: CSE 201.
is open to all majors. Credit will be given for only one of CPB 102, CSE 212. Software Engineering for User Interface and User
CSE 102, ECE 102, MME 102, CEC 102. Experience Design. (3)
CSE 148. Business Computing. (3) Principles of user interfaces (UI) and user experiences (UX) for
An introduction to business-oriented computer skills. Extensive software engineering. Psychological principles; Design methods such
hands-on use of electronic spreadsheets and database software. as task analysis and user-centered design. Projects demonstrating
Examples and exercises will stress problem-solving in a business window, menu, and command design; voice and natural language I/O;
context. Credit not awarded for both CSE 148 and CSE 243. response time and feedback; color, icons, sound.
Prerequisite: CSE 201.
CSE 151. Computers, Computer Science, and Society. (3)
Perspective on the potential and limitations of computing technology. CSE 220. Professional Practice. (0)
Topics include problem-solving in computing, computers as thinking Students participating in computer technology associate's degree co-
machines, and the impact of computing on societies. Exposes op program register for this course during semesters when they are
students to programming languages and various computer tools. Not on work assignment. This enables students to maintain continuing
open to CSE and ISA majors. V. PA-1A. student status with the university.
CSE 153. Introduction to C/C++ Programming. (3) CSE 235. Computer Network Design and Administration. (3)
Introduction to use of C/C++ programming language as an aid to This course introduces students to the fundamentals of computer
solving mathematical and scientific problems. Students design, write, networking, the OSI stack, and the practical and conceptual skills
and implement programs. needed to build simple local area networks, perform basic device
configurations, and implement subnet schemes and their IP
CSE 163. Introduction to Computer Concepts and Programming.
addressing. Students will also configure and troubleshoot simulated
(3)
networks consisting of end devices, switches and routers.
Introduction to computers in data processing, survey of various
Prerequisite: CYB 234 or CSE 278.
hardware and software concepts, and analysis and solution of
Cross-listed with CYB 235.
problems by computer programming. Lecture/laboratory, project-
oriented course to provide numerous opportunities to analyze CSE 243. Problem Analysis Using Computer Tools. (3)
problems, formulate alternative solutions, implement solutions, and Students will learn to use personal computer productivity tools
assess their effectiveness. No prior knowledge of computer concepts to analyze data, work with others in conducting analyses, develop
or programming assumed. V. PA-1A. conclusions and effectively communicate results. Students will utilize
Prerequisite: ACT Math score of 19 or higher, OR SAT Math Score of spreadsheet tools to analyze data and will be challenged to evaluate
510 or higher, or permission of instructor. data from multiple perspectives in order to develop conclusions
supported by their analysis. Students will use word processing
CSE 174. Fundamentals of Problem Solving and Programming. (3)
tools to integrate text and graphical information that clearly and
Algorithm development and refinement in problem solving. Modular
concisely communicates their conclusions. While an important part
programming using sequence, selection, and repetition control
of the course is learning to use the software tools, the emphasis
structures. Built-in and programmer-defined functions. Problem
of the course is learning to use these tools to solve problems and
solving with collections. Program debugging and testing. Formatted
communicate results. Credit not awarded for both CSE 243 and
input and output. Data file input and output. Fundamental data types.
CSE 148. V. PA-1A.
Character data and string processing. Introduction to recursion.
Algorithm efficiency considerations. CSE 251. Introduction to Game Programming. (3)
2 Lec. 1 Lab. Introduction to computer programming techniques used in
Prerequisite: ACT Math Score of 20 or higher, or SAT Math Score of games and visual simulations. Simple data and control structures,
520 or higher, or Miami Math Placement Test score of 7 or higher, or mathematical foundations, transformations, rendering algorithms,
successful completion of MTH 025. and interfaces. This course is not open to CSE students without
Prerequisite or Co-requisite: MTH 122 or 124 or 125 or 141 or 151. permission of instructor.
Prerequisite: high school algebra and trigonometry.
2 Computer Science & Software Engineering (CSE)

CSE 252. Web Application Programming. (3) CSE 271. Object-Oriented Programming. (3)
An introduction to programming concepts and practices for creating Review of sequence, selection, and iteration. The design and
applications which use the web as the delivery platform. Students implementation of software using object-oriented programming
will learn technologies including HTML, Javascript, A JAX, client side techniques including inheritance, polymorphism, object persistence,
programming and server side scripting to create interactive web and overloading. Students will analyze program specifications and
applications. Not an elective for computer science and systems identify appropriate data types, objects, and classes. Additional
analysis majors. programming topics include dynamic memory, recursion, searching
Prerequisite: CSE 153 or CSE 163 or CSE 174. and sorting, using existing object libraries, and binary and text file
processing.
CSE 253. Programming Languages. (1-2)
Prerequisite: CSE 174 with a grade of C- or better.
Presents syntax and semantics of a particular programming language
currently popular in industrial or academic settings. Addresses CSE 273. Optimization Modeling. (3)
construction of programs in the language. Applications of the Use of deterministic models and computers to study and optimize
language presented. Coverage of good programming style and systems. Includes an introduction to modeling, calculus-based
software engineering concepts addressed in context of the language. models, financial models, spreadsheet models, and linear-
Not applicable to CSE electives requirement for a CSE major. programming models.
Prerequisite: MTH 251 or equivalent.
CSE 256. Introduction to Programming for the Life Sciences. (3)
Introduction to programming for majors in the life sciences. The CSE 274. Data Abstraction and Data Structures. (3)
ability to write programs to perform tasks related to the organization Abstract data types and their implementation as data structures using
and analysis of biological data has become a highly-valued skill object-oriented programming. Use of object-oriented principles in the
for researchers in the life sciences, allowing wet-lab researchers selection and analysis of various ADT implementations. Sequential
to quickly process and sort through large amounts of data to find and linked storage representations: lists, stacks, queues, and tables.
information relative to their own work. This course serves as an Nonlinear data structures: trees and graphs. Recursion, sorting,
introduction to programming designed specifically for life science searching, and algorithm complexity.
majors, targeting the specific skills and techniques commonly needed Prerequisites: C- or higher in CSE 271.
and explaining the fundamental methods of working with biological CSE 276. Mathematics and Computer Science. (3)
data while centering programming assignments around topics of This course examines how mathematics has influenced computer
interest to those studying the life sciences. Topics covered include science, and how computer science has influenced mathematics.
basic programming techniques, representation and manipulation of It covers a range of topics which sit at the intersection of
genomic and protein sequence data, and the automated interface mathematics and computer science, such as encryption, randomness,
with BLAST and the NCBI GenBank database. computational geometry, fractals, prime numbers, numerical
Cross-listed with BIO/MBI. methods, image processing, and simulations. Most topics are
CSE 262. Technology, Ethics, and Global Society. (3) approached through developing static and animated visualizations of
Inquiry into a wide range of information technology issues, from mathematical concepts.
moral responsibilities affecting professionals to wider ethical Prerequisite: CSE 271 and (MTH 231 or MTH 331).
concerns associated with information technology in day-to-day living. CSE 277. Independent Studies. (0-6; maximum 10)
Topics include general aspects of ethics; common ethical theories;
professional codes of ethics in IT; privacy, security and reliability in CSE 278. Systems I: Introduction to Systems Programming. (3)
using computer systems and the internet; issues and responsibilities Principles of Von Neumann computer architecture through the C/
in internet usage; legal issues in IT; global perspectives of computing C++ programming language. Data representation and computer
issues; and general problems related to ethical and responsible arithmetic. Memory hierarchy. CPU structure and instruction
computing. Not open to first-year students. IIB, IIC. sets. Network programming including use of sockets. Database
Prerequisites: ENG 109 or ENG 111. programming through SQL.
Cross-listed with CIT 262. Prerequisite: CSE 271.

CSE 268. Introduction to Knowledge Representation. (3) CSE 301. Software Architecture and Design. (3)
Introduces fundamental concepts in the field of knowledge An in-depth look at software design. Study of software architecture,
representation and reasoning. Students learn how to use state- design patterns and software product lines. Designing for quality
of-the-art logic-based languages, techniques, and tools to develop attributes such as performance, safety, security, reusability, reliability,
models that capture information about the world to be used for etc. Measuring internal qualities and complexity of software designs.
solving complex problems. They develop small intelligent systems Evolution of designs. Basics of software evolution, reengineering, and
capable of performing reasoning tasks such as planning, question reverse engineering. Application of formal methods to specify and
answering, or problem solving. Students also benefit from interaction evaluate designs.
with experts in the field of knowledge representation, who will be Prerequisites: CSE 201 and CSE 202.
invited to present lectures on their research. CSE 302. Software Construction. (3)
Prerequisite: CSE 271. General principles and techniques for disciplined detailed software
CSE 270. Special Topics. (3; maximum 6) design. Basic theory of grammars and parsing. State-transition and
Special topics in computer science, computer information systems, or table-based design. Formal specification languages and program
operations research. derivation. Techniques for handling concurrency and inter-process
Prerequisite: permission of instructor. communication. Tools for model-driven construction.
Prerequisite: CSE 301 and (MTH 231 or MTH 331).
Computer Science & Software Engineering (CSE) 3

CSE 310. Undergraduate Research Seminar. (1; maximum 3) CSE 385. Database Systems. (3)
Seminar or workshop on topics in computer science, software Overview of database management, database system architecture,
engineering, or related fields. and database modeling principles. Logical database design. The
relational database model, relational integrity constraints, and
CSE 320. Professional Practice. (0)
relational algebra. Relational commercial database management
Students participating in the computer science and systems analysis
co-op program register for this course during semesters when they systems and languages. Interactive database processing, view
processing, and database application programming. Database
are away from Oxford on work assignment. This enables students to
integrity. Relational database design by normalization. File structures
maintain continuing student status with the university.
for database systems.
CSE 340. Internship. (0-20) Prerequisite or Co-requisite: CSE 274.
CSE 340U. Undergraduate Summer Scholars Program. (1-12) CSE 386. Foundations of Computer Graphics and Games. (3)
CSE 372. Stochastic Modeling. (3) An introduction to techniques used to create images on the
Survey of methods of stochastic operations research including computer. The course covers the algorithms and mathematical
reliability, Markov processes, queuing theory, and decision theory. theory behind three-dimensional image generation with an emphasis
Computer used for modeling and solving problems. on 3D geometry, 3D transformations, and the graphics pipeline.
Prerequisite: STA 301 or STA 368. Programming required.
Prerequisite or Co-requisite: STA 401/STA 501. Prerequisites: MTH 151, and (CSE 274 or CSE 278).

CSE 374. Algorithms I. (3) CSE 389. Game Design and Implementation. (3)
Design, analysis and implementation of algorithms and data Study of architectures, algorithms, and software design patterns used
structures. Dynamic programming, brute force algorithms, divide and in computer games. Students work with a game engine to design
conquer algorithms, greedy algorithms, graph algorithms, and red- and implement several kinds of games. Topics include animation
black trees. Other topics include: string matching and computational techniques, physics simulation, user controls, graphical methods, and
geometry. intelligent behaviors.
Prerequisites: CSE 274 and (MTH 231 or MTH 331). Prerequisites: CSE 287 or CSE 386.

CSE 377. Independent Studies. (0-6; maximum 10) CSE 401/CSE 501. Software Quality Assurance and Testing. (3)
Quality: how to assure it and verify it, and the need for a culture of
CSE 381. Systems 2: OS, Concurrency, Virtualization, and Security.
quality. Avoidance of errors and other quality problems. Inspections
(3)
and reviews. Testing, verification, and validation techniques. Product
Introduction to operating systems concepts. The operating
and process assurance. Formal verification. Statistical testing.
system as a resource manager. The principles for the design and
Prerequisite: CSE 302.
implementation of operating systems. Process scheduling and
deadlock prevention. Memory management, virtual memory, paging, CSE 411/CSE 511. Introduction to Model-Driven Software
and segmentation. Interrupt processing. Device management, I/ Engineering. (3)
O systems and I/O processing. Concurrency and multithreading. An introduction to model-driven software engineering (MDSE)
Virtualization and cloud services. Security and protection. techniques; applying software engineering practices to model-based
Prerequisite: CSE 278. artifacts; modeling and abstraction; model transformations; model-
based testing; tool implementations.
CSE 382. Mobile App Development. (3)
Prerequisite: CSE 201.
Implementation of cross-platform applications for mobile platforms
such as iOS and Android. Programming languages, development CSE 432/CSE 532. Machine Learning. (3)
environments, debugging, testing, and application design. This course introduces the process, methods, and computing tools
Development of applications that: provide an effective graphical fundamental to machine learning. Students will work on large real-
interface, access internet resources, permanently store data, access world datasets to write code to accomplish tasks such as predicting
the device’s hardware, and display graphical elements. outcomes, discovering associations, and identifying similar groups.
Prerequisite: CSE 278. Students will complete a term project showcasing the different steps
of the machine learning process, from data cleaning to the extraction
CSE 383. Web Application Programming. (3)
of accurate models and the visualization of results.
An introduction to the software, concepts and methodologies
Prerequisite: CSE 274.
necessary to design and implement web applications. Students will
design and construct web applications utilizing remote servers on CSE 433/CSE 533. Deep Learning. (3)
multiple platforms. Projects will be used to enable the students to This course introduces basic concepts for deep learning and covers
apply the principles and techniques presented in class. the preliminary knowledge of neural networks. Students will learn
Prerequisite: CSE 278. to implement and train their own neural networks and gain an
understanding of research in deep learning. Additionally, students
will complete a final project to design and train a customized neural
network on selected real-world problems. Through multiple hands-
on assignments and the final course project, students will acquire the
skills to perform deep learning tasks and the best practices to train
and fine-tune deep neural networks.
Prerequisites: CSE 374.
4 Computer Science & Software Engineering (CSE)

CSE 434/CSE 534. Generative Artificial Intelligence. (3) CSE 464/CSE 564. Algorithms. (3)
This course introduces students to AI tools that allow the creation Review of basic data structures and algorithms. Analysis of
of new data such as text (Natural Language Generation), images, or algorithms. Problem assessment and algorithm design techniques.
videos. Students use Large-Scale Language Models (LLMs) to generate Algorithm implementation considerations. Concept of NP-
text, evaluate its quality, and integrate the generator in sample completeness. Analysis of algorithms selected from topics relevant to
applications. Students also create images via deep neural networks, computer science and software engineering (sorting, searching, string
although no prior familiarity with deep learning is required. Students processing, graph theory, parallel algorithms, NP-complete problems,
will complete a term project. etc.)
Prerequisite: CSE 374. Prerequisite: MTH 231 or discrete math and CSE 274 or equivalent.
CSE 443/CSE 543. High Performance Computing & Parallel CSE 465/CSE 565. Comparative Programming Languages. (3)
Programming. (3) Survey of programming languages and their accompanying
Introduction to practical use of multi-processor workstations and paradigms. Basic principles of syntax, semantics, implementation,
supercomputing clusters. Developing and using parallel programs and pragmatics are addressed. The survey will include representatives
for solving computationally intensive problems. The course builds on from the families of imperative languages, functional languages, logic
basic concepts of programming and problem solving. languages, and hybrid languages. Formal methods of definition and
Prerequisite: CSE 381. specification are introduced.
Prerequisite: CSE 274 or equivalent.
CSE 444/CSE 544. Applied Cryptography. (3)
Cryptography is the study of techniques for protecting information CSE 466/CSE 566. Bioinformatics Computing Skills. (3)
and systems, that is, securing them against adversarial attacks. Study of the core computational and biological concepts in
Cryptography appears everywhere. For example, computer bioinformatics, with programming in Python, MySQL and Ubuntu
passwords, user authentication, credit cards, cryptocurrency, web OS. You will gain hands-on experience in popular bioinformatics
traffic (HTTPS), disk encryption, etc., all use cryptography. This course applications, including BLAST, sequence alignment, genome browser,
presents the techniques and tools used in modern cryptography with and gene annotation, among others.
a focus on applications. For example, the course discusses many Prerequisites: BIO 256; or CSE 174; or permission of instructor.
attacks on various real-worlds systems, the mistakes made in building Cross-listed with BIO/CHM/MBI.
those systems, and how they could be built in a secure way. CSE 467/CSE 567. Computer and Network Security. (3)
Prerequisites: CSE 274 and MTH 231. Fundamentals of network, operating system and application security.
CSE 448. Senior Design Project. (2) Students will study and implement a variety of security techniques
Student teams, with varied academic backgrounds, conduct major including defense, response and forensics. Extensive analysis, reading
open-ended research/design projects. Elements of the design process and writing will be integral to this course.
are considered as well as real-world constraints, such as economic Prerequisite: CSE 383.
and societal factors, marketability, ergonomics, safety, aesthetics, and CSE 470/CSE 570. Special Topics in CSE. (3; maximum 21)
ethics; feasibility and design studies performed. SC. Advanced special topics in computer science, computer information
Prerequisites: CSE 201 and CSE 274 and senior standing in student's systems, or operations research.
major. Prerequisite: permission of instructor.
CSE 449. Senior Design Project. (1-2) CSE 473/CSE 573. Automata, Formal Languages, and
Continuation of CSE 448. Student teams, with varied academic Computability. (3)
backgrounds, conduct major open-ended research/design projects; Regular expressions. Closure properties. Sequential machines and
implementation, testing, and production of design. Nonmajors can finite state transducers. State minimization. Chomsky hierarchy
register for 1-2 credits. SC. grammars, pushdown acceptors and linear bounded automata.
Prerequisite: CSE 448. Closure properties of algorithms on grammars. Turing machine
CSE 451/CSE 551. Web Services and Service Oriented as acceptor and transducer. Universal machine. Computable and
Architectures. (3) noncomputable functions. Halting problem.
Intro to service-oriented architectures; examine purposes and Prerequisite: CSE 274 or equivalent and (MTH 231 or MTH 331).
differences between different web service technologies; analyze
CSE 474/CSE 574. Compiler Design. (3)
shortcomings and strengths of integration techniques; development Examination of the nature of programming languages and programs
of cross-platform applications using standard interchange languages. which implement them. Compiler and interpreter design and
Prerequisites: CSE 383. implementation techniques. Review of grammars and languages
CSE 456/CSE 556. Bioinformatic Principles. (3) (context free, context sensitive, regular). Design of interactive
Concepts and basic computational techniques for mainstream interfaces. Parsing of context free languages. Lexical analysis.
bioinformatics problems. Emphasis placed on transforming biological Semantic analysis and code optimization.
problems into computable ones and seeking solutions. Prerequisite: CSE 274 and CSE 278.
Prerequisites: (BIO/CSE/MBI 256 or CSE 174) and (BIO/MBI 116 or CSE 477. Independent Studies. (0-6; maximum 10)
MBI 201 or BIO 342) or permission of instructor.
Cross-listed with BIO 485/BIO 585/585 and MBI 485/MBI 585/585. CSE 480/CSE 580. Special Problems. (1-4; maximum 12)
Special systems problems decided by students in consultation
with instructor. For students in departmental or university honors
program.
Prerequisite: permission of department chair prior to registration.
Computer Science & Software Engineering (CSE) 5

CSE 484/CSE 584. Algorithms II. (3) CSE 602. Emerging Topics in Computer Science. (1)
Study problems in computer science for which we have no known Students develop advanced skills necessary for research in computer
efficient solutions, and the methods used to recognize intractable science and software engineering. They formulate research questions,
problems as well as the current approaches taken to cope with propose a methodology to conduct independent research, and design
those problems. Concept of NP-completeness and poly-time experiments to evaluate their planned research. Students defend
reductions; an introduction to randomized algorithms and the their thesis proposal, and attend peer thesis proposal presentations
randomized complexity classes PP, RP, and BPP; an introduction to to discover emerging topics in computer science.
approximation algorithms for solving NP-Hard problems; polynomial- Prerequisite: CSE 601.
space algorithms and the classes PSPACE and the poly-time hierarchy; CSE 610. Seminar in Computer Science. (1-3)
Poly-time approximation schemes and approximation algorithms via Seminar topics in computer science, computer information systems,
linear-program rounding. or operations research. Does not apply toward fulfillment of the
Prerequisite: CSE 374. requirements of the Master of Systems Analysis. Credit/no-credit only.
CSE 485/CSE 585. Advanced Database Systems. (3)
Relational algebra. Query processing and optimization. Database Prerequisite: permission of instructor.
security. Data warehouses, column stores, and ETL. NoSQL database CSE 611. Computer Science Seminar Attendance Requirement. (0;
systems, including document and graph stores. Emerging database maximum 0)
technologies. Required seminar attendance for graduate students in all tracks
Prerequisites: CSE 385 and (MTH 231 or MTH 331). during each fall and spring semester in which they are enrolled
CSE 486/CSE 586. Introduction to Artificial Intelligence. (3) as fulltime students. Attendance must be verified at a designated
Basic concepts of artificial intelligence (AI) including problem solving, number of approved events each semester. Approved events include
search knowledge representation, and rule-based systems covered proposal and defense presentations, oral exams associated with
with symbolic AI language such as PROLOG or LISP. Application areas the Coursework Only track, and presentations by faculty search
(natural language understanding, pattern recognition, learning and candidates.
expert systems) are explored. Prerequisite: graduate standing.
Prerequisite: CSE 274 or equivalent and (MTH 231 or MTH 331). CSE 616. Simulation of Physical Systems. (3)
CSE 488/CSE 588. Image Processing & Computer Vision. (3) This course is an introduction to the principles and use of simulation,
An introduction to computer vision including sensors and image and suitable software tools, to model the behavior of physical
formation, camera geometry, signal processing, feature detection, systems in the sciences and engineering. Concepts related to discrete
tracking and motion estimation, scene understanding, image event simulation including random number generation, scheduling
classification, segmentation, object detection, and deep learning. and processing are addressed. Concepts related to continuous
Prerequisites: CSE 274 and (MTH 231 or MTH 331). simulation including linear, nonlinear, and dynamic systems are
studied. Students will design and implement simulations using
CSE 489/CSE 589. Advanced Graphics and Game Engine Design. (3)
suitable modeling and simulation software tools.
The course covers graphics hardware, game engine architectures, and
the mathematics and algorithms used to create digital games. Topics CSE 617. Advanced Networks. (3)
will include shader based rendering and programming. Students will Study of advanced networking techniques, client/ server
implement portions of a game engine which incorporates animation, programming, and distributed processing. Critical analysis of these
collision detection, and simulated physics. Programming required. areas develops as students learn the strengths and weaknesses of
Prerequisites: CSE 287 or CSE 386. these technologies through assigned programming projects.
CSE 491. Undergraduate Research. (1-4; maximum 10) CSE 620. Special Topics in Computer Science Applications. (3;
Research problems in computer science, systems analysis, or maximum 12)
operations research, chosen in consultation with a faculty advisor. Special topics in computer science, computer information systems, or
Requires a public presentation of completed work. For grade only. operations research.
Prerequisites: Permission of instructor and approval of department Prerequisite: permission of instructor.
chair. CSE 621. Foundations of Software Engineering. (3)
CSE 587. Game Design and Implementation. (3) Foundational theories for software engineering. Topics include project
Study of architectures, algorithms, and software design patterns used management, modeling notations, refinements processes, verification
in computer games. Students work with a game engine to design and validation, and evolution.
and implement several kinds of games. Topics include animation CSE 627. Machine Learning. (3)
techniques, physics simulation, user controls, graphical methods, and Concepts and algorithms of machine learning including version-
intelligent behaviors. spaces, decision trees, instance-based learning, networks,
Prerequisite: CSE 386, for 587: graduate standing or permission of evolutionary computation, Bayesian learning and reinforcement
instructor. learning.
CSE 601. Computer Science Research Methods. (3)
An introduction to conducting research in computer science and
software engineering. Students will develop basic skills required
of a graduate student in CSE including writing scientific papers,
performing literature reviews, preparing and delivering presentations,
research methods, and participating in academic discussions.
6 Computer Science & Software Engineering (CSE)

CSE 640. Internship. (0-12; maximum 6) CSE 700. Research for Master's Thesis. (0-9; maximum 9)
Study under graduate faculty supervision of a research problem
CSE 648. Professional Computing Experience. (3)
related to computer science or software engineering. Students
The Professional Computing Experience course is an immersive,
should take CSE 601 either concurrently or before taking CSE 700
project-based, experiential course intended to draw on skills and
for the first time. Upon completion of research, the results must be
knowledge gained in courses throughout the Master in Computer
Science program. Students will be immersed in a semester-long defended before the advisory committee for approval. A minimum of
two semesters of research can be counted toward fulfillment of the
open-ended computer science project that requires the selection and
research requirement.
application of appropriate skills, tools and methodologies covered
Prerequisite or Co-requisite: CSE 601.
in the MCS program to address the problem at hand. In preparation
for the project, students will read and analyze “grey literature” (i.e., CSE 704. Non-Thesis Project. (0-12; maximum 12)
professional magazines, technical reports, and working papers) on This repeatable course is for non-thesis culminating experiences.
the current and evolving trends in computing fields. Students will Permission of the instructor is required.
appropriately communicate their findings and project results to
multiple audiences.
Prerequisite: Completion of the 12 hours of coursework in the Master
in Computer Science.
CSE 650. Special Topics in Computer Science Theory. (3; maximum
18)
This course covers special topics in theory within Computer Science.
Understanding theory is fundamental in any Computational Science
venture as it is the foundation on which all work and applications are
built upon. Faculty will be covering a variety of new and emerging
theory areas.
CSE 664. Advanced Algorithms. (3)
A review of NP-Completeness and poly-time reductions; an
introduction to randomized algorithms and the randomized
complexity classes PP, RP, and BPP; an introduction to approximation
algorithms for solving NP-Hard problems; polynomial-space
algorithms and the classes PSPACE and the poly-time hierarchy; Poly-
time approximation schemes and approximation algorithms via
linear-program rounding.
CSE 667. Cryptography. (3)
This course presents the techniques and tools used in modern
cryptography. The course covers common cryptographic
assumptions and tools, including: pseudorandomness, symmetric key
cryptography, and asymmetric key cryptography. Recommended co-
requisite: CSE 464/CSE 564/564.
Prerequisite: graduate standing or permission of instructor.
CSE 671. Software Quality. (3)
This course emphasizes the importance of quality when developing
software systems. Topics include design for reuse, formal
specification, applications of software testing, and maintenance of
evolving systems.
Prerequisite: none for MSCS students, permission of instructor for
others.
CSE 690. Graduate Research. (3)
Research problems in computer science, computer information
systems, or operations research, decided upon in consultation with
the instructor and student's graduate adviser. Requires a public
presentation of completed work. For grade only.
Prerequisite: permission of instructor, student's graduate adviser,
and graduate director.

You might also like