Concentrations

 

Theory and Algorithms

Theoretical computer science asks the most fundamental questions about computing: What does it mean to compute something? How difficult is it to do specific computations? How can we compare the “difficulty” of different computational problems? What problems cannot be solved by computers, no matter how powerful they are?  At the same time, theoretical computer science gives a toolset and vocabulary for making good design decisions in real computing situations. It helps the students to recognize patterns and abstractions from classic problems that can be applied to new problems. It gives a framework for explaining why one approach is better than another without having to try both and see.

The Theory and Algorithms concentration prepares students who want to specialize in theoretical computer science. It requires a strong background and comfort level with math. Students completing the concentration requirements will graduate from UConn with an understanding of the theoretical foundations of computation, an appreciation for the limits of computation, and an ability to design efficient algorithms that scale well with input size.

Courses:

  • CSE 3502: Theory of Computation or CSE 5503: Theory of Computation
  • CSE 3802: Numerical Methods
  • CSE 4100: Programming Language Translation
  • CSE 4500: Parallel Systems
  • CSE 4702: Introduction to Cryptography
  • CSE 4704: Computational Geometry or CSE 5514: Computational Geometry
  • CSE 4820: Introduction to Machine Learning or CSE 5819: Introduction to Machine Learning or CSE 5820: Machine Learning
  • CSE 5500: Advanced Algorithms
  • CSE 5503: Theory of Computation
  • CSE 5506: Computational Complexity
  • CSE 5512: Introduction to Quantum Computing
  • CSE 5854: Modern Cryptography: Primitives and Protocols
  • CSE 6512: Randomization in Computing
  • CSE 6514: Computational Topology

In addition to the courses listed above, one special topics course (CSE 4095 or CSE 5095) or one independent study course (CSE 4099) on a topic related to this concentration may be counted towards the 12 credits concentration requirement with prior approval by one of the concentration coordinators and either the CSE Department Head or the Director of Undergraduate Computing Education.

Theory and Algorithms Concentration Coordinators:
In case of questions regarding this concentration and for pre-approval of special topics or independent study courses (CSE 4095/4099/5095), please contact any one of the following concentration coordinators:

Alexander Russell
Tom Peters


Systems and Networks

The Systems and Networks concentration focuses on the system aspects of computer science. How does a computer work? How and why did your program crash? How does the Internet work? These are just a few questions that this concentration answers. It includes a wide range of courses related to computer networking (principles on designing computer networks and their instantiation in various real networks, including the Internet, networked embedded systems and wireless networks), operating systems (principles and mechanisms for process creation, memory and  resource management, and I/O management in a computer system), computer architecture (design principles and methodologies for modern microprocessors and computer memory system), and computer and network security (privacy and security issues related to computer and network systems).

This concentration equips students with both theory and practice on how computer systems (including both stand-alone and networked systems) are designed, organized, implemented and managed. It integrates software and hardware, covering a wide variety of topics related to performance, efficiency, reliability, fault tolerance, and security. This allows students to understand system related issues, which arise in many different contexts  (e.g., data analytics, cybersecurity, software design).

Courses:

  • CSE 3300: Networks or CSE 5299: Computer Networks and Data Communication
  • CSE 3400: Intro to Computer and Network Security or CSE 5850: Introduction to Cyber-Security
  • CSE 4300: Operating Systems or CSE 5305: Operating Systems
  • CSE 4302: Computer Organization and Architecture or CSE 5302: Computer Architecture
  • CSE 4709: Networked Embedded Systems or CSE 5309: Networked Embedded Systems
  • CSE 5300: Advanced Networks
  • CSE 5306: Advanced Operating Systems

In addition to the courses listed above, one special topics course (CSE 4095 or CSE 5095) or one independent study course (CSE 4099) on a topic related to this concentration may be counted towards the 12 credits concentration requirement with prior approval by one of the concentration coordinators and either the CSE Department Head or the Director of Undergraduate Computing Education.

Systems and Networks Concentration Coordinators:

In case of questions regarding this concentration and for pre-approval of special topics or independent study courses (CSE 4095/4099/5095), please contact any one of the following concentration coordinators:

Song Han
Bing Wang
Reda Ammar


Cybersecurity

Cybersecurity is concerned with security in a computing environment.  The concentration offers a blend of courses that investigate multiple dimensions. Specifically, it addresses questions related to software engineering, networking and the fundamental cryptographic primitives and protocols used in computer systems to provide authenticity, privacy and resistance to tampering. In the process, it investigates the mathematical foundations that form the basis of modern cryptography.

If Buffer overflows, SSL, X509 certificates, DDoS, Honeypots, MITM, Exploits, Advanced Persistent Threats, multi-party computation, homomorphic encryption, or quantum resistant cryptography are mysterious ideas or techniques that you wish to master, the cybersecurity concentration is for you.

The concentration equips students with skill sets that blend theory and practice and serves a population intent on becoming cybersecurity professionals. It is a fast-paced and rapidly evolving subfield of computing in which practitioners must be ready to engage in continuing education.

Courses:

  • CSE 3300: Networks or CSE 5299: Computer Networks and Data Communication or CSE 3502: Theory of Computation or CSE 5503: Theory of Computation or CSE 4300: Operating Systems or CSE 5305: Operating Systems
  • CSE 3400: Introduction to Computer and Network Security or CSE 5850: Introduction to Cyber-Security
  • CSE 4400: Computer Security or CSE 5400: Computer Security
  • CSE 4402: Network Security or CSE 5402: Network Security
  • CSE 4702: Introduction to Cryptography or CSE 5852: Modern Cryptography: Foundations
  • CSE 5852: Modern Cryptography: Foundations
  • CSE 5854: Modern Cryptography: Protocols and Primitives

In addition to the courses listed above, one special topics course (CSE 4095 or CSE 5095) or one independent study course (CSE 4099) on a topic related to this concentration may be counted towards the 12 credits concentration requirement with prior approval by one of the concentration coordinators and either the CSE Department Head or the Director of Undergraduate Computing Education.

Cybersecurity Concentration Coordinators:

In case of questions regarding this concentration and for pre-approval of special topics or independent study courses (CSE 4095/4099/5095), please contact any one of the following concentration coordinators:

Ben Fuller
Laurent Michel


 Bioinformatics 

Bioinformatics is an important and growing engineering field that focuses on the design and development of new algorithms, computational methods, and tools for the analysis of complex biological data. With recent advances in high-throughput technologies, the rate of growth in the amount of biological data (genetic sequence data in particular) has greatly outpaced increases in computing power governed by Moore’s law. As a result, core computer science techniques including algorithms, data structures, data analytics, software engineering, statistical modeling, and machine learning, have become central to the analysis and interpretation of high-throughput data in both biology and medicine. Students taking the bioinformatics concentration will have the opportunity to deepen their knowledge of these computer science techniques and learn how they apply to biological data analysis.

Courses:

  • CSE 3800: Bioinformatics or CSE 5800: Bioinformatics
  • CSE 3810: Computational Genomics or CSE 6800: Computational Genomics
  • CSE 4502: Big Data Analytics or CSE 5717: Big Data Analytics
  • CSE 4820: Introduction to Machine Learning or CSE 5819: Introduction to Machine Learning or CSE 5820: Machine Learning
  • CSE 5810: Introduction to Biomedical Informatics
  • CSE 5825: Bayesian Machine Learning
  • CSE 5815: Systems Biology: Constructing Biological Knowledgebase
  • CSE 5830: Probabilistic Graphical Models
  • CSE 5840: String Algorithms and Applications in Bioinformatics
  • CSE 5860: Computational Problems in Evolutionary Genomics

In addition to the courses listed above, one special topics course (CSE 4095 or CSE 5095) or one independent study course (CSE 4099) on a topic related to this concentration may be counted towards the 12 credits concentration requirement with prior approval by one of the concentration coordinators and either the CSE Department Head or the Director of Undergraduate Computing Education.

Bioinformatics Concentration Coordinators:

In case of questions regarding this concentration and for pre-approval of special topics or independent study courses (CSE 4095/4099/5095), please contact any one of the following concentration coordinators:

Ion Mandoiu
Mukul S. Bansal


Software Design and Development

The software design and development concentration is concerned with the study of methods, tools, and techniques used to design and develop software systems. The students will be exposed to both traditional and modern software engineering practices that span the entire software lifecycle, and the trade offs between these. The topics will include software architecture, procedural and object oriented software development paradigms, software requirements analysis, software testing and verification, software process models, software engineering process models, and formal methods. Emphasis will be placed on training the students in tools that embody these principles through hands on projects and exercises. SDD concentration will position the students competitively to seek employment in the ever growing software industry.

Courses:

  • CSE 2102: Software Engineering (Required)
  • CSE 3150: C++ Essentials
  • CSE 4102: Programming Languages or CSE 5102: Advanced Programming Languages
  • CSE 4701: Principles of Data Bases
  • CSE 5103: Software Performance Engineering
  • CSE 5105: Software Reliability Engineering
  • CSE 5810: Introduction to Biomedical Informatics

In addition to the courses listed above, one special topics course (CSE 4095 or CSE 5095) or one independent study course (CSE 4099) on a topic related to this concentration may be counted towards the 12 credits concentration requirement with prior approval by one of the concentration coordinators and either the CSE Department Head or the Director of Undergraduate Computing Education.

Software Design and Development Concentration Coordinators:

In case of questions regarding this concentration and for pre-approval of special topics or independent study courses (CSE 4095/4099/5095), please contact any one of the following concentration coordinators:

Swapna Gokhale
Steve Demurjian


Computational Data Analytics

We live in an era of big data. In every domain of science and engineering voluminous data gets generated. Processing these datasets is a big challenge.  A great deal of useful information is hidden in this data. Effective techniques are needed to unravel this information. For instance, the analysis of genomic data could lead to the discovery of causes for various diseases and subsequently the development of relevant drugs.  Accurate weather forecasting is possible with the analysis of appropriate atmospheric data.

In this concentration, the students will be trained in analyzing various kinds of data.  Examples include visual data, text data, sequence data, etc. The students will also be exposed to the principles of databases. Recently, Artificial Intelligence (and machine learning in particular) techniques have been employed to solve many challenging problems efficiently. Students will also get exposure to discrete optimization which lies at the core of decision making, i.e., Business Analytics.

Courses:

  • CSE 4095: Dynamic Data Visualization or OPIM 3804: Data Visualization
  • CSE 4502: Big Data Analytics or CSE 5717: Big Data Analytics
  • CSE 4701: Principles of Databases or OPIM 3221 Business Database Systems
  • CSE 4705: Introduction to Artificial Intelligence
  • CSE 4820: Introduction to Machine Learning or CSE 5819: Introduction to Machine Learning or CSE 5820: Machine Learning
  • CSE 5707: Discrete Optimization or OPIM 3803: Spreadsheet Modeling for Business Analysis
  • CSE 5713: Data Mining or OPIM 3802: Data and Text Mining
  • CSE 5095: Discrete Optimization or OPIM 3803: Spreadsheet Modeling for Business Analytics
  • CSE 5825: Bayesian Machine Learning or CSE 5830: Probabilistic Graphical Models or CSE 5835: Machine Learning for Physical Sciences and Systems

In addition to the courses listed above, one special topics course (CSE 4095 or CSE 5095) or one independent study course (CSE 4099) on a topic related to this concentration may be counted towards the 12 credits concentration requirement with prior approval by one of the concentration coordinators and either the CSE Department Head or the Director of Undergraduate Computing Education.

Computational Data Analytics Concentration Coordinators:

In case of questions regarding this concentration and for pre-approval of special topics or independent study courses (CSE 4095/4099/5095), please contact any one of the following concentration coordinators:

Sanguthevar Rajasekaran
Jinbo Bi


Naval Science and Technology

The concentration in Naval Science and Technology is designed to expose students to engineering concepts and topics of importance to the Navy and industries that support naval science and technology. It is focused on facilitating interactions between students and naval professionals as well as hands-on and experiential activities related to senior design projects or independent study projects that have naval science and technology connections.

All Computer Science majors must also complete nine credits of Naval Science and Technology Coursework topics, distributed as follows:

  • At least three credits of ENGR 3109.
  • Six credits from the following courses with at least one course outside the senior design sequence: CSE 4095, 4099, 4939W, 4940.

Students electing to complete the concentration must do so in their primary major, and as such select elective coursework from their primary discipline. Students electing to use their Senior Design course sequence must have their project topic approved by both their departmental senior design coordinator and either the director of the Navy STEM Program or the Associate Dean for Undergraduate Education.

Students electing to use Special Topics courses or Independent Study/Research courses must have the course or research topic approved by both their department and either the director of the Navy STEM Program or the Associate Dean for Undergraduate Education. Other courses relevant to naval science and technology may be considered for the concentration by petition to the director of the Navy STEM Program or the Associate Dean of Undergraduate Education. Students may not apply courses used in this concentration to fulfill requirements for other concentrations or minors. The concentration in Naval Science and Technology is restricted to U.S. citizens.

 


Unspecialized

The various concentrations above focus on particular areas within computer science. An alternative to these is the Unspecialized concentration, which requires students to take fundamental courses in a number of the above areas, thus gaining a broader perspective of the field. If you are interested in more than one of the above areas, or if you are unwilling to commit to a single area, this concentration is a good choice for you.

For the Unspecialized concentration, students must take 3 different required concentration courses, plus any other 2000+ level CSE course not used to fulfill another requirement.

Courses:

  • CSE 2102 :Software Engineering
  • CSE 3300: Networks or CSE 5299: Computer Networks and Data Communication
  • CSE 3400: Intro to Computer and Network Security or CSE 5850: Introduction to Cyber-Security
  • CSE 3502: Theory of Computation or CSE 5503: Theory of Computation
  • CSE 3800: Bioinformatics or CSE 5800: Bioinformatics
  • CSE 4502: Big Data Analytics or CSE 5717: Big Data Analytics

Unspecialized Concentration Coordinators:

There are no specific coordinators for this concentration; its courses are the required courses in the other concentrations. If you have questions about these courses (or other courses contained in the concentrations above), please contact the concentration coordinator whose concentration includes that course.


Individually Designed

Students may propose an individually-designed concentration to fit their academic or career interests.  This will be a minimum of 12 credits at the 2000+ level, proposed by the student and approved by the student’s advisor and the CSE Department Undergraduate Committee. The expectation is that such a concentration will have a strong unifying theme.  This may include non-CSE courses, but the student will still be subject to the overall requirement of 43 CSE credits for CS students and 50 CSE credits for CSE students.

Individually Designed Concentration Coordinator:  Laurent Michel


AY21-22 CSE concentration courses-2

 

Connect With Us