[Skip to Content]

Online Master of Science in Computer Science

The online Master of Science in Computer Science (MSCS) is designed for professionals looking to grow their computer science expertise and excel in this evolving industry.

Offered by the J.B. Speed School of Engineering at the University of Louisville, the Master of Science in Computer Science program delivers timely and relevant information on key areas of importance within the industry today including databases, artificial intelligence, analytics, data mining and more. You will graduate with a deepened understanding of computer science fundamentals as well as a more informed perspective on current issues—helping you advance your career in this forward-moving industry.


Complete this degree on your own time through fully online coursework.

Learn More

10 courses are required for completion – 5 core, 3 electives and a thesis or capstone project (6 credits).

Learn More

Specialize your expertise using MSCS electives to earn a certificate in Data Science or Cybersecurity.

Learn More
Online learning video - Online Master of Science in Computer Science

"I started the Master of Science in Computer Science and graduate certificate in Data Science programs simultaneously. The most useful thing I learned are techniques in data mining that I never knew existed. Some different algorithms, some different ways of evaluating models and doing feature selection—which have really, really helped in my job."


How Much Will I Pay?

$764 per credit hour
$250 active duty military rate per credit hour

Tuition & Aid    

Tuition rate does not include costs associated with a specific course or program, such as textbooks.


  • Apply with no GRE or GMAT scores – not required for admission!
  • Join one of the top graduate programs in the state of Kentucky and nationwide.
  • Use your electives to develop expertise and earn a certificate in data science or cybersecurity.
  • Choose between a thesis-based and project-based program completion option.
  • Transfer in 6 credit hours of graduate studies from other regionally-accredited universities, pending department review.
  • Earn your degree in just as little as 2 years with year-round courses.
  • Take courses 100% online, or blend your coursework with online and on-campus options.

The J.B. Speed School of Engineering has been educating technical professionals since 1924 and features classes and research taught by internationally recognized faculty as well as state-of-the-art computer and networking laboratories.

Is UofL’s online MSCS program the right one for you?

The online master’s in computer science accepts students with undergraduate degrees in fields outside computer science and computer engineering. If you have a technical degree or relevant experience, and a passion for the industry, our program could be a great fit for you. Find out what prerequisites you need in order to earn your computer science degree with us.

Online Graduate Computer Science Certificates

Specialize your knowledge and add valuable credentials to your career portfolio by earning an online certificate while completing your master’s degree. You can also start with a certificate and move into the master’s program with ease.


Computers are used in virtually every aspect of our lives today, from desktops at home and work, or large systems supporting governments, to supercomputers and grids of networked processors expanding the frontiers of science and technology. To that end, it’s unsurprising that jobs for computer scientists and engineers are among the fastest growing in the marketplace. Computer professionals are employed in a wide variety of environments, including computer and electronic product manufacturing, development and support businesses, academia, military, government and more.

Application Deadline Term Start Date
August 1 Fall August
December 1 Spring January
April 1 Summer May

Steps to Apply

  1. Complete application for admission
  2. Submit $65 non-refundable application fee
  3. Submit official transcripts for all undergraduate and graduate work

Admission Requirements

  • Bachelor’s degree in Computer Engineering/Computer Science preferred (applicants with degrees in other areas may need to complete undergraduate prerequisites before applying to the master's program)
  • Minimum undergraduate GPA of 2.75 to be admitted in good standing (applicants with a lower GPA may obtain conditional admission)
  • Two letters of recommendation
  • Personal statement or resume

No GRE required for admission.

Send all materials to:
Graduate Admissions
University of Louisville
2211 S. Brook Street
Louisville, KY 40292

International Students

If you live outside of the United States and intend to complete an online academic program from your home country, be sure to view special requirements for international students. Online students do not qualify for US visa.

Don’t have a bachelor’s degree in computer engineering/computer science?

You are not alone! More than ever before, professionals with non-computer science educational background are seeking to earn computer science credentials at the graduate level for career change or advancement opportunities. The online Master of Science in Computer Science at UofL is available to applicants with a technical degree or relevant experience.

Non-computer science candidates often need to complete undergraduate prerequisites before applying to the master’s program. These requirements can be completed online at UofL.

Prerequisite Courses Hours
CSE 130 Introduction to Programming Languages 3
CSE 310 Discrete Structures 3
CSE 503 Survey of Computer Engineering and Computer Science 3

Important Note: The actual number and type of prerequisites is determined on a case-by-case basis, based on candidate’s official transcripts and evaluation of transferable credit. Also, the length of the program will depend on the number of prerequisites needed for the completion of graduate coursework.

Credit Transfer

You may transfer up to six credit hours of graduate coursework from any regionally accredited university, pending department approval.

Start Your Application

Areas Courses Hours
(1 course required)
CSE 504 Automata Theory

CSE 619 Algorithms 
(2 courses required)

CSE 516 Computer Networks

CSE 535 Introduction to Databases

CSE 545 Artificial Intelligence

CSE 550 Software Engineering

CSE 629 Distributed Systems

CSE 630 Advanced Databases and Warehousing

CSE 640 Internet Applications 

CSE 522 Evaluation of Computer Systems

CSE 563 Experimental Design

CSE 620 Combinatorial Optimization & Modern Heuristics

CSE 622 Simulation and Modeling Discrete Systems

CSE 627 Digital Image Processing

CSE 632 Data Mining

CSE 635 Data Mining with Linear Models 

Electives 3 CSE Electives 9
Select Thesis Option Or Project Option
Thesis Option CSE 690 MS Thesis 6
Project Option CSE 696 and CSE 5/6XX Elective 6

Total Credit Hours


The program requires minimum 15 credit hours of 600 level courses. Electives must be chosen so that at least one-half of the credits counted toward the degree are 600-level.

Course Descriptions

CSE 504 Automata Theory
Prerequisite: CSE 310. Finite state machines and their application to engineering problems including modeling the behavior of discrete systems. Topics include theory of computing, formal language theory, and applications of cellular automata. Engineering models of digital computer hardware are covered and related to software design.

CSE 619 Algorithms
Prerequisite: CSE 310 and IE 360. This course covers the interrelationship between algorithmic statements, data structures and computational complexity of computer programs. Algorithms are presented for a number of computer science and engineering applications including graph problems, string matching, dynamic programming, transitive closure and convolution. The properties of NP-complete problems are introduced.

CSE 516 Computer Networks
Prerequisite: ECE 360 or IE 360, and CSE 412. Data communications: The exchange of data between devices is covered. The key aspects of transmission interfacing, link control, and multiplexing are examined. Data communication networking: Examines the internal mechanisms by which communication networks provide a data transfer service for attached devices. Note: Cross-listed with ECE 518.

CSE 535 Introduction to Databases
Prerequisite: CSE 302 or equivalent. Course covers basics of database design, SQL, query processing, and optimization, transactions. The emphasis will be placed on Engineering design and implementation of relational systems. A written project is required.

CSE 545 Artificial Intelligence
Prerequisite: CSE 302 and CSE 310. This course introduces the use of predicate calculus logic, heuristic search, and knowledge representations for solving engineering and computer science problems. The course includes coverage of rule-based expert systems, intelligent agents and machine learning.

CSE 550 Software Engineering
Prerequisite: CSE 420. Engineering methods applied to the life-cycle issues in the team-oriented development of large software systems including issues of software processes, metrics, testing and quality. Documentation of the project and an oral presentation are required.

CSE 629 Distributed Systems
Prerequisite: CSE 420 This course covers general concepts in the design and implementation of distributed systems, visiting topics in cluster computing, supercomputing, grid computing, and cloud computing. The course is composed of two building blocks: i) distributing computing models including MPI and MapReduce programming, and ii) distributed storage techniques including networked, parallel, and distributed file systems. Our readings and discussions of research papers will help us understand general approaches to design, implement, and evaluate real distributed systems as well as identify open research problems.

CSE 630 Advanced Databases and Warehousing
Prerequisite: CSE 535 or consent of instructor. Object-relational databases; handling of complex types, XML and text in relational databases. NoSQL databases: data models and query languages. Data warehousing: design and implementation, query processing and optimization. Big Data: cluster computing, MapReduce and extensions, advanced analytical databases and distributed query processing.

CSE 640 Internet Application Design and Development
Prerequisite: CSE 220. This course covers software design and development issues encountered in designing internet applications. Topics are HTML5 and CSS, HTTP and Servlet, JDBC, JSP Programming, Custom Tags and Java Bean, Connection Pooling, Web Application Architecture and Design, The Presentation Tier, The Business Logic Tier, The Persistence Tier, and Web Services.

CSE 506 Modeling and Analysis of Engineering Systems
Prerequisite: ENGR 330. Representation of engineering systems, Fourier analysis, z-transforms, frequency response, state-space analysis, stability, an introduction to the basic theory of filter design; and demonstrated concepts to CAS.

CSE 522 Evaluation of Computer Systems
Prerequisite: IE 360 and CSE 420. A study of approaches to the evaluation of computer systems. Measurement techniques and evaluation techniques are treated in detail with attention to existing commercial hardware and software monitors and simulators.

CSE 563 Experimental Design in Engineering
Prerequisite: IE 360. Design of engineering experiments and projects using theory of least squares, analysis of variance and co-variance, randomized blocks, Latin squares, factorial experiments and associated topics. Engineering design problems using SAS or equivalent software packages. Note: Cross-listed with IE 563.

CSE 620 Combinatorial Optimization & Modern Heuristics
Prerequisite: CSE 419 or equivalent. Combinatorial Optimization and Modern Heuristics presents classical and modern search and optimization concepts, methods, and applications.

CSE 622 Simulation and Modeling Discrete Systems
Prerequisite: IE 360. Engineering design of simulation languages and simulators, discrete stochastic systems, issues in large scale simulation studies and engineering evaluation methods.

CSE 627 Digital Image Processing
Prerequisite: CSE 506, ECE 420 or faculty consent. A course that surveys basic concepts in image processing and pattern recognition. Topics included are: contrast and edge enhancement, histogram modification, image segmentation, feature extraction, statistical classifiers. Design problems involving computer implementation of algorithms are used extensively.

CSE 632 Data Mining
Prerequisite: IE 360 and CSE 535. Data mining concepts, methodologies, and techniques, including statistical and fuzzy inference, cluster analysis, artificial neural networks, and genetic algorithms, rule association and decision trees, N-dimensional visualization, Web and text mining, and advanced topics.

CSE 690 M.S. Thesis in Computer Science
Experimental and/or theoretical research to be presented in thesis.

CSE 696 CSE Project
Prerequisite: Graduate standing in CSE . Independent design or experimental project in Computer Engineering and Computer Science. Written and verbal reports required. Reports must include literature, speech, experimental methodology, design details, implementation details, test results, conclusions, and references. Verbal reports will be presented at a specified date each semester.

CSE 130 Introduction to Programming Languages
Introduction to programming languages with emphasis on C and C++, and a brief introduction to Java. It includes laboratory exercises on the writing and compiling computer programs in C, C++, and Java.

CSE 310 Discrete Structures
Prerequisite: Third-year standing. Engineering applications using computer structures including algebraic computational structures, finite state machines, relational structures, propositional logic, trees, graphs, groups, machine equivalence and introduction to formal grammar. Applications of these structures to engineering problems including fluid flow, communication systems, artificial intelligence, digital logic, and algorithm evaluation. A written report is required.

CSE 503 Survey of Computer Engineering and Computer Sciences
Prerequisite: CSE 130. Introduction to foundations of computer engineering and computer science for non-majors. Emphasis on C++ programming language, data structures and algorithms, and operating systems fundamentals. This course cannot be used to meet degree requirements for any CSE /CS/CSE degree.