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
"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."
$764 per credit hour
$250 active duty military rate per credit hour
Tuition rate does not include costs associated with a specific course or program, such as textbooks.
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.
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|
No GRE required for admission.
Send all materials to:
University of Louisville
2211 S. Brook Street
Louisville, KY 40292
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.
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.
|CECS 130 Introduction to Programming Languages||3|
|CECS 310 Discrete Structures||3|
|CECS 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.
You may transfer up to six credit hours of graduate coursework from any regionally accredited university, pending department approval.
(1 course required)
CECS 504 Automata Theory
CECS 619 Algorithms
(2 courses required)
|CECS 640 Internet Applications||6|
|Electives||3 CECS Electives||9|
|Select Thesis Option Or Project Option|
|Thesis Option||CECS 690 MS Thesis||6|
|Project Option||CECS 696 and CECS 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.
CECS 504 Automata Theory
Prerequisite: CECS 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.
CECS 619 Algorithms
Prerequisite: CECS 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.
CECS 516 Computer Networks
Prerequisite: ECE 360 or IE 360, and CECS 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.
CECS 535 Introduction to Databases
Prerequisite: CECS 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.
CECS 545 Artificial Intelligence
Prerequisite: CECS 302 and CECS 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.
CECES 550 Software Engineering
Prerequisite: CECS 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.
CECS 629 Distributed Systems
Prerequisite: CECS 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.
CECS 630 Advanced Databases and Warehousing
Prerequisite: CECS 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.
CECS 640 Internet Application Design and Development
Prerequisite: CECS 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.
CECS 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.
CECS 522 Evaluation of Computer Systems
Prerequisite: IE 360 and CECS 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.
CECS 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.
CECS 620 Combinatorial Optimization & Modern Heuristics
Prerequisite: CECS 419 or equivalent. Combinatorial Optimization and Modern Heuristics presents classical and modern search and optimization concepts, methods, and applications.
CECS 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.
CECS 627 Digital Image Processing
Prerequisite: CECS 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.
CECS 632 Data Mining
Prerequisite: IE 360 and CECS 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.
CECS 690 M.S. Thesis in Computer Science
Experimental and/or theoretical research to be presented in thesis.
CECS 696 CECS Project
Prerequisite: Graduate standing in CECS. 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.
CECS 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.
CECS 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.
CECS 503 Survey of Computer Engineering and Computer Sciences
Prerequisite: CECS 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 CECS/CS/CSE degree.