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.
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.
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