shadow_tr

Senior Level Courses

Computer Science Courses

Here is a list of the senior level courses currently available in computer science. Not every course is offered every year - the department rotates the topics so that each area is represented at least once every two years. Courses with numbers above 4600 and below 4900 are undergraduate sections of graduate courses, and they should be taken only upon the recommendation of the student’s faculty advisor and the course instructor.

Top ⇑CMPS 4010 – Capstone Project Part 1 of 2

Course Description

This is the first semester of a two-semester course devoted to the development of the student's capstone project, which is required for the Computer Science coordinate major. Each student is overseen by a faculty advisor in computer science, in coordination with a faculty advisor from the area in which the project aims to demonstrate the application of computer science to that discipline.

Prerequisites

Approval of the department.


Top ⇑CMPS 4020 – Capstone Project Part 2 of 2

Course Description

This is the second of a two-semester course devoted to the development of the student's capstone project, which is required for the Computer Science coordinate major. Each student is overseen by a faculty advisor in computer science, in coordination with a faculty advisor from the area in which the project aims to demonstrate the application of computer science to that discipline.

Prerequisites

Approval of the department.


Top ⇑CMPS 4150 – Multi-agent Systems

Course Description

This course has two main goals. The first one is to give a broad overview of the fundamentals of multi-agent systems (MAS). MAS are playing increasingly important role in Artificial Intelligence as distributed resources push for highly distributed forms of intelligence.

The second aim is to provide a more in depth discussion of selected MAS topics: game theory and voting from a computational point of view. Situated at the nexus between economics and computer science, these research areas provide a perfect example of interdisciplinary cross-fertilization and mutual enrichment and lie at the core of multi-agent systems theory. The course will provide the student with an understanding of how self-interested behavior and coordination can be formally modeled and implemented in societies of artificial agents.

Prerequisites:

None.


Top ⇑CMPS 4250 – Mathematical Foundations of Computer Security

Course Description

This course studies the mathematics underlying computer security, including both public key and symmetric key cryptography, crypto-protocols and information flow. The course includes a study of the RSA encryption scheme, stream and clock ciphers, digital signatures and authentication. It also considers semantic security and analysis of secure information flow. (Same as MATH 4250.)

Prerequisites

One semester of Calculus, CMPS/MATH 2170, and permission of instructor.


Top ⇑CMPS 4610 – Algorithms

Course Description

This course covers fundamental algorithm design principles and data structures, basic notions of complexity theory, as well as an advanced introduction to parallel algorithms, randomized algorithms, and approximation algorithms. Topics include: divide-and-conquer, dynamic programming, amortized analysis, graph algorithms, network flow, map reduce, and more advanced topics in approximation algorithms and randomized algorithms.

Prerequisites

CMPS 2200 or equivalent and CMPS/MATH 2170 or equivalent, or permission by the instructor.


Top ⇑CMPS 4620 – Artificial Intelligence

Course Description

This course is designed for graduate students interested in understanding the design of autonomous intelligent agents. The course will cover fundamental notions and concepts such as uninformed and informed search, local search, constraint satisfaction and constraint-based optimization, Bayesian Networks, Markov Decision Problems and a short introduction on machine learning. Furthermore, advance topics and applications in the context of natural language processing, reasoning about time, algorithmic game theory and computational social choice will be considered as well.

Prerequisites

CMPS 2200 or equivalent or instructor approval.


Top ⇑CMPS 4630 – Computational Biology and Bioinformatics

Course Description

This course is an introduction to computational methods in molecular biology. Topics covered include: sequence analysis and alignment, sequencing technologies, genome and metagenomic sequencing, protein structure and structure prediction, and phylogenetic analysis. No prior background in biology is assumed.

Prerequisites

Undergraduate Algorithms course or equivalent and/or CMPS/MATH 2170 or equivalent or instructor approval


Top ⇑CMPS 4640 – Computational Geometry

Course Description

This course covers fundamental and advanced principles for designing and analyzing geometric algorithms and data structures, and their application to other disciplines. Computational Geometry is a young discipline which enjoys close relations to mathematics and to various application areas such as geometric databases, molecular biology, sensor networks, visualization, geographic information systems, VLSI, robotics, computer graphics and geometric modeling. Selected topics may include: Dynamic and kinetic data structures, geometric algorithms and data structures in two and higher dimensions, shape analysis and matching, robustness and implementation issues, geometric approximation algorithms.

Prerequisites

CMPS 2200 or equivalent, or permission by the instructor. CMPS 3130 or undergraduate Algorithms preferred.


Top ⇑CMPS 4710 – Computational Complexity

Course Description

This course is an advanced introduction to the area of computational complexity. Topics covered include: impossibility and separability results for classical computation, interactive theorem proving and the PCP theorem, derandomization and hardness of approximation, and the quantum model of computation.

Prerequisites

Advanced undergraduate Algorithms course, graduate Algorithms course, and/or CMPS 3250, or instructor approval.


Top ⇑CMPS 4720 – Machine Learning

Course Description

This course will cover fundamental and advanced topics in machine learning. Topics will include linear and logistic regression, Lasso, preceptrons, deep neural networks, support vector machines, kernel methods, graphical models, principal and independent component analysis and Gaussian processes. In addition to thoroughly addressing theoretical aspects, several examples will illustrate the application of the different techniques.

Prerequisites

CMPS 2200 or equivalent and CMPS/MATH 2170 or equivalent or instructor approval.


Top ⇑CMPS 4730 – Machine Learning and Natural Language Processing

Course Description

This course focuses on advanced machine learning techniques and their application in the domain of natural language processing (NLP). Many real world machine learning problems deal with mapping data to structured representations, and in the NLP domain the output structure represents lexical, syntactical or semantic aspects of the text. Techniques covered in this course include discriminative and generative models including Structured Perceptron and Structured SVMs, Constrained Conditional Models, Probabilistic Graphical Models, as well as Deep Learning techniques.

Prerequisites

CMPS 6720/4720 or CMPS 3240/6240 or equivalent, or permission of the instructor.


Top ⇑CMPS 4750 – Computer Networks

Course Description

The objective of the course is to introduce students to the core concepts and analytic techniques in the design and analysis of computer networks and network protocols. We will explain both how computer networks work using the Internet as the paradigm and why they work from an optimization and control perspective.

Prerequisites

CMPS/MATH 2170 and CMPS 2200 or equivalent or instructor approval.


Top ⇑CMPS 4760 – Distributed Systems

Course Description

This course covers the fundamental concepts in distributed computing at the graduate level. The objective is to introduce students to the core notions, algorithms, and analytic tools in the design of distributed systems. Recent developments in peer-to-peer systems, cloud computing, sensor networks, etc. will be used as case studies to help students establish a firm understanding of the philosophy and pitfalls in the design of computer systems when there is no global clock and when unpredictable failures and variable latency are the norm.

Prerequisites

CMPS/MATH 2170, CMPS 2200, CMPS 2300, or equivalent or instructor approval.


Top ⇑CMPS 4910 – Independent Study in Computer Science

Course Description

This is a directed study course that allows a student to pursue a topic of particular interest under the direction of a computer science faculty member. No more than three hours of 4910-4920 may be counted toward satisfying the major requirements.

Prerequisites

Approval of the department.


Top ⇑CMPS 4920 – Independent Study in Computer Science

Course Description

This is a directed study course that allows a student to pursue a topic of particular interest under the direction of a computer science faculty member. No more than three hours of 4910-4920 may be counted toward satisfying the major requirements.

Prerequisites

Approval of the department.


Top ⇑CMPS 4990/5000 – Honors Thesis in Computer Science

Course Description

This course is for students completing an honors thesis in computer science.

Prerequisites

Approval of the department.


School of Science and Engineering, 201 Lindy Boggs Center, New Orleans, LA 70118 504-865-5764 sse@tulane.edu