Computer scientists identify and solve computational problems in all areas of modern life. They use a combination of technical skills and creativity to design and build software, formulate solutions to computing problems and invent new and better ways of using computers. The discipline of computer science has many challenging, interesting and socially important careers that appeal to a diverse range of people. Computer scientists are not only employed by software companies but also by health care companies, government agencies and educational institutions. In short, the computer science profession is multifaceted and has wide-ranging applications. Computers are continually changing, so those who choose a career in computer science will become life-long learners and will always be on the cutting edge of new trends in technology.
At the University of Kentucky, you will be taught by professors who are recognized leaders in their respective fields and are outstanding teachers. The Department of Computer Science was recently ranked 30th among U.S. Ph.D.-granting universities and 16th among public universities by Academic Analytics™. Department of Computer Science professors and instructors are readily available both inside and outside the classroom to discuss course material, emerging topics of research in computer science and the computing profession.
Industries Looking for You
"I am proud to be part of a university that truly invests in its undergraduate population."
Student, Mathematics and Computer Science
source: myUK: GPS
Click to toggle each Academic Year. Click each course for more information.
Engineering Exploration I introduces students to the engineering and computer science professions, College of Engineering degree programs, and opportunities for career path exploration. Topics and assignments include study skills, team development, ethics, problem solving and basic engineering tools for modeling, analysis and visualization. Open to students enrolled in the College of Engineering. Students who received credit for EGR 112 are not eligible for EGR 101.
Fundamentals of Engineering Computing introduces students to the practice and principles of computer programming and computational problem solving. Students will engage in hands-on project-based problem solving using modern computer software and hardware, with a particular emphasis on problems and techniques commonly appearing in various domains of engineering. Open to students enrolled in the College of Engineering.
A laboratory course offering experiments in mechanics and heat, framed in a small group environment that requires coordination and team work in the development of a well-written lab report.
A course is one-variable calculus, including topics from analytic geometry. Derivatives and integrals of elementary functions (including the trigonometric functions) with applications. Lecture, three hours; recitation, two hours per week. Students may not receive credit for MA 113 and MA 137. Prereq: Math ACT of 27 or above, or Math SAT of 620 or above, or a grade of C or better in MA 109 and in MA 112, or a grade of C or better in MA 110, or appropriate score on math placement test, or consent of the department. Students who enroll in MA 113 based on their test scores should have completed a year of pre-calculus study in high school that includes the study of trigonometric functions. Note: Math placement test recommended.
Engineering Exploration II focuses on a semester long engineering design project with students working in teams to apply the skills and tools introduced in EGR 101 or EGR 112 for transfer students and EGR 102. Topics and assignments include more in depth exploration of engineering tools for modeling, analysis, visualization, programming, hardware interfacing, team development, documentation and communication. Students gain experience in project management, identifying constraints, iteration and technical report writing.
Composition and Communication II
A second course in Calculus. Applications of the integral, techniques of integration, convergence of sequence and series, Taylor series, polar coordinates. Lecture, three hours; recitation, two hours per week. Prereq: A grade of C or better in MA 113, MA 137, or MA 132.
The course covers introductory object-oriented problem solving, design, and programming engineering. Fundamental elements of data structures and algorithm design will be addressed. An equally balanced effort will be devoted to the three main threads in the course: concepts, programming language skills, and rudiments of object-oriented programming and software engineering.
Implementation of large programming projects using object-oriented design techniques and software tools in a modern development environment. Software engineering topics to include: life cycles, metrics, requirements specifications, design methodologies, validation and verification, testing, reliability and project planning.
Boolean algebra; combinational logic circuits, synchronous sequential circuits; asynchronous sequential circuits; design problems using standard integrated circuits.
A course in multi-variable calculus. Topics include vectors and geometry of space, three-dimensional vector calculus, partial derivatives, double and triple integrals, integration on surfaces, Greens theorem. Optional topics include Stokes theorem and the Gauss divergence theorem. Lecture, three hours; recitation, two hours per week. Prereq: MA 114 or MA 138 or equivalent.
Topics in discrete math aimed at applications in Computer Science. Fundamental principles: set theory, induction, relations, functions. Boolean algebra. Techniques of counting: permutations, combinations, recurrences, algorithms to generate them. Introduction to graphs and trees.
This course provides an introduction to computer systems and explores computer architecture, operating systems, and networks from a programmer's perspective. The course also introduces advanced programming and debugging tools. Topics include hardware instruction sets, machine language and C language program representations, linking/loading, operating systems (process management, scheduling, memory management, interprocess communication, and file systems), network programming (socket programming and web protocols), and common security attacks and solutions.
Introduction to the design and analysis of algorithms. Asymptotic analysis of time complexity. Proofs of correctness. Algorithms and advanced data structures for searching and sorting lists, graph algorithms, numeric algorithms, and string algorithms. Polynomial time computation and NP-completeness.
Introduction to the principles and concepts of the Internet; data communications and digital channel characteristics; networking applications and protocols, client-server paradigm and network programming; reliable data transfer, end-to-end transport; addressing, forwarding and routing, datagram networks; media access control, data link control; selected topics from cloud computing, network security and network management. Concepts are combined with programming and other hands-on assignments to enhance the learning of these topics.
Data collection, description, and factor association versus causal relationship; Confidencestatistical versus practical; and Hypothesis testingAll of these covered in a conceptual approach while relying heavily on the mathematical language of probability (e.g., population and sample distributions; sampling; regression on one variable) and use of simulated and real data.
Topics in logic and discrete math aimed at applications in Computer Science. Propositional calculus: truth tables, logical relations, proofs, tautologies, soundness. Predicate calculus: variables, quantifiers, equivalencies. Models of computation: logic circuits, finite automata, Turing machines.
Current approaches -- practice and technologies -- for developing reliable software: specifications, testing, and verification. Individual and team assignments focused on applying these approaches to software systems. A significant communication and composition component related to specifying, designing, presenting, and documenting software systems.
Projects to design and implement complex systems of current interest to computer scientists. Students will work in small groups. This course is a Graduation Composition and Communication Requirement (GCCR) course in certain programs, and hence is not likely to be eligible for automatic transfer credit to UK.
Students may directly enroll as pre-engineering students; however, there are minimum admission requirements. Minimum freshman entry requirements are an ACT Math score of 23 or higher or a SAT Math score of 540 or higher. Additionally, students must also meet the minimum Kentucky statewide academic readiness requirements for reading and writing. If you do not meet the initial admission requirements, please refer to the University of Kentucky Bulletin for alternative routes to admission to the College of Engineering.
In addition to fulfilling UK Core and College of Engineering requirements, students must complete the Computer Science curriculum. The following curriculum meets the requirements for the B.S. degree.2017-18 Info Sheet 2016-17 Major Sheet 2015-16 Major Sheet 2014-15 Major Sheet 2013-14 Major Sheet 2012-13 Major Sheet 2011-12 Major Sheet 2010-11 Major Sheet 2009-10 Major Sheet 2008-09 Major Sheet
Dr. Nathan Jacobs
Research Areas: computer vision; machine learning; image
processing; time-lapse video processing; video surveillance
Dr. Jerzy Jaromczyk
Research Areas: algorithms, robust implementations, biomedical
and bioinformatics algorithms and applications, and more
Dr. Judy Goldsmith
Research Areas: cmparative decision-making studies; stochastic
models; preference handling in artificial intelligence; and more
Dr. Kenneth Calvert
Research Areas: next-generation computer network protocols and
architectures; active networks; network security; formal methods
Growth and learning also happen outside the classroom. It happens in research labs working alongside professors and graduate students. It happens on student design teams in the capstone design courses. It happens on cooperative education rotations and internships with companies all over the country. There are also numerous education abroad programs. The Engineering Career Development Office provides students valuable assistance in developing job, co-op and internship search skills, facilitates placement for education abroad programs and research opportunities and helps with career network development so you can secure a rewarding career in your chosen field of study
Learning also happens in student organizations, on field trips, and on community service projects. Computer Science students can get involved with the Association for Computing Machinery, Dot Diva, CatHacks, Tau Beta Pi, the Society of Women Engineers, Engineers Without Borders, and others.
Computer science major Stephen Parsons making the most of his undergraduate research opportunity: http://uknow.uky.edu/content/what%E2%80%99s-next-fusing-interests-undergraduate-research
Software developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or another device. Others develop the underlying systems that run the devices or that control networks.
Source: Bureau of Labor Statistics | Click the link for more info.
per year in 2014
Number of Jobs
10 Year Job Outlook
new jobs (average)
Many software developers work for firms that deal in computer systems design and related services or for software publishers.
Source: Bureau of Labor StatisticsRead More
Source: Bureau of Labor Statistics
Dr. Brent Seales
Professor and Chair
Department of Computer Scienceseales@netlab.uky.edu
College of Engineering
102 Davis Marksbury Building
Lexington, Kentucky 40506-0633
Get more information about going to the University of Kentucky