The time of day you prefer classes you take to meet.
Select your time of day preference:
Classes that start between 8:00 and 10:00 AM.
Classes that start between 11:00 AM and 1:00 PM.
Classes that start between 1:00 and 5:00 PM.
Classes that start at 5:00 PM or later.
The days of the week that you prefer classes you take to meet.
Select your class day preference:
Classes that meet on Mondays, Wednesdays, and Fridays.
Classes that meet on Tuesdays and Thursdays.
The desired amount of hours of free time in a week.
Select your preference for the amount (in hours) of free time you want:
10 Hours or fewer of free time per week.
Between 10 and 15 hours of free time per week.
Between 15 and 20 hours of free time per week.
Between 20 and 25 hours of free time per week.
25 or more hours of free time per week.
The types of subjects you are interested in studying.
Select your preference for the following subjects:
Courses dealing with Databases and their architectures.
Courses demonstrating the underlying concepts of operating systems.
Courses discussing theoretical issues in Computer Science, including
Numerical Analysis, Logic, and Discrete Mathematics.
Courses in the field of networking.
Courses dealing with Artificial Intelligence.
Courses in the field of software engineering.
Courses dealing with computer graphics, visualization, and multimedia.
Courses dealing with humanities.
Courses dealing with the social sciences.
Courses dealing with the natural sciences.
Courses dealing with mathematics and statistics.
Courses dealing with other languages.
Courses dealing with the communication requirement.
Courses dealing with the study of English.
Courses dealing with the study of business and economics.
Courses dealing with engineering disciplines.
Courses in the field of electrical engineering.
The different types of programming assignments done in a semester.
Select your preference for the following types of homework:
Large Projects that are considered to be term projects.
Smaller projects that occur more frequently than Projects.
Prefer no homework at all.
The number of people in a class that you are enrolled in.
Select your preference for the following class sizes:
25 students or fewer enrolled in a class.
25 to 50 students enrolled in a class.
50 to 100 students enrolled in a class.
100 to 200 students enrolled in a class.
200 or more students enrolled in a class.
The building that a class is taught in.
Select your preference for the following buildings for classes:
Classroom Building on north side of campus.
Includes Andersaon Hall, ASTeCC, Raymond Building (Civil Engineering),
CRMS (Robotics Facility), and McVey Hall. Located in Central Campus.
Located in Central Campus.
Other Buildings on the UK campus.
Valuable non-technical skills.
Select your preference for the following subjects:
Verbally expressing oneself to others.
Expressing oneself clearly in writing.
Preparing papers for publishment in the professional realm.
Learning how to write grants.
Learning ways to teach others.
Learning how to present research clearly.
Learning skills desired for leadership.
Learning skills needed to design projects.
How many credithours you would like to take in a semester.
Select your preference for the following course load sizes:
Taking fewer than 12 credit hours a semester, or part-time study.
Taking between 12 and 14 credit hours a semester.
Taking between 15 and 17 credit hours a semester.
Taking 18 or more credit hours in a semester.
Which professors you prefer.
Select your preference for the following professors:
Associate Professor and Associate Chair. Research areas include
programming and systems, performance monitoring and evaluation,
and database systems.
Associate Professor. Research areas include computer network
protocols and architectures, active networks, network security,
and formal methods.
Professor. Research areas include computer-aided geometric
design, computer graphics, and collaborative CAD.
Assistant Professor. Research areas include databases.
Professor. Research areas include computational sciences,
parallel computing, and numerical analysis.
Assistant Professor. Research areas include networking.
Professor. Research areas include operating systems, distributed
algorithms, and programming languages.
Associate Professor. Research areas include stochastic models,
planning with Bayes nets and POMPDs, computational learning
theory, and computational complexity.
Associate Professor. Research areas include computer networks
and operating systems.
Assistant Professor. Research areas include verification and
validation, interface-based system testing, automatic test data
generation, software maintainability, and static analysis.
Associate Professor. Research areas include computational
geometry and algorithms.
Assistant Professor. Research areas include computer vision,
image processing, and artificial intelligence and perception.
Lecturer. Teaches CS101, CS115, and CS215.
Professor. Research areas include cryptography and spread
spectrum communications.
Professor (joint with Math). Research areas include number
theory and operating systems.
Assistant Professor. Research areas include distributed systems,
operating systems, and mobile computing systems.
Professor. Research areas include logical foundations of AI,
theory of databases, and logic programming.
Lecturer. Teaches CS100, CS215, and CS216.
Associate Professor. Research areas include image processing and
graphics.
Professor and Garner Group Endowed Chair in Networking. Research
areas include distributed computing systems, wireless networks,
and computer security.
Professor and Chair. Research areas include graph theory,
combinatorics, and logical foundations of AI.
Professor and Director of Graduate Studies. Research areas
include computational complexity and numerical analysis.
Assistant Professor. Research areas include scientific and
parallel computing, computer simulation, and information
retrieval and data mining.
Do you care about the professor's gender?
Select your preference for the following:
Female Professor at UK.
Male Professor at UK.
The gender of professor does not matter to me.
The courses offered and required by the CS department at UK.
Select your preference for the following courses:
An introductory seminar which covers the fundamental activities,
principles, and ethics of the computer science profession. An
overview of the discipline of computer science, examples of careers,
the history of computing, and experience with elementary computing
tools are included.
This course covers introductory skills in computer programming
using an object-oriented computer programming language. There is
an emphasis on both the principles and practice of computer
programming. Also covered are principles of problem solving by
computer. Completion of a number of programming assignments is
manditory.
This course covers introductory object-oriented problem solving,
design, and programming engineering. Fundamental elements of
data structures and algorithm design will also 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.
Prereqs: CS-115.
Software engineering topics to include: life cycles, metrics,
requirements specifications, design methodologies, validation and
verification, testing, reliability and project planning. Students
will study and practice use of object-oriented design techniques
and software tools in a modern development environment.
Implementation of large programming projects will be stressed.
Prereqs: CS-215.
Characteristics of a procedure-oriented language; description of
a computer as to internal structure and the representation of
information; introduction to algorithms. Emphasis will be placed
on the solution of characteristic problems arising in engineering.
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.
Prereqs: MA-113 and CS-115.
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.
Prereqs: CS-215, CS-275, and engineering standing.
Floating point arithmetic. Numerical linear algebra; elimination
with partial pivoting and scaling. Polynomial and piecewise
interpolation. Least squares approximation. Numerical
integration. Roots of nonlinear equations. Ordinary differential
equations. Laboratory exercises using software packages available at
computer center.
Prereqs:MA-213 and CS-221 or equivalent. Knowledge of a
procedural computer language is required. (Same as MA-321).
This course focuses on the graphical human-machine interface,
covering the principles of windowing systems, graphical interface
design and implementation, and processing graphical data. There is
an emphasis on medium-scale programming projects wiht graphical user
interfaces using a high-level procedural language and concepts such
as object-oriented design.
Prereqs: CS-216 and engineering standing.
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, equivalences.
Models of computation: logic circuits, finite automata,
Turing machines.
Prereqs: MA-113, CS-215, CS-275, and engineering standing.
Hardware and software organization of a typical computer; machine
language and assembler language programming, interfacing
peripheral devices, and input-output programming; real-time computer
applications, laboratory included. (Same as EE-380.)
Prereqs: EE-280.
A course for computer science majors only. A problem, approved
by the chairperson of the department, provides an opportunity for
individual research and study. May be repeated to a maximum of
six credits.
Prereqs: Major and a standing of 3.0 in the department and
consent of instructor.
Study of fundamental concepts behind the design, implementation
and application of database systems. Brief review of
entity-relationship, hierarchical and network database models and an
in-depth coverage of the relational model including relational
algebra and calculi, relational database theory, concepts in schema
design and commercial database languages.
Prereqs: CS-315 and engineering standing.
The techniques of processing, specifying, and translating
high-level computer languages are studied. Topics include finite
state machines and lexical analysis, context-free grammars for
language specification, attributed translation grammars, language
parsing, and automatic generation of compilers by SLR, LALR, and
other methods for analyzing context-free grammars. Other topics may
include code optimization, semantics of programming languages, and
top-down parsing.
Prereqs: CS-315 and engineering standing.
An intensive study of fundamental programming concepts exhibited
in current high-level languages. Concepts include recursion,
iteration,coroutines, multiprocessing, backtracking,
pattern-matching, parameter passing methods, data structures, and
storage management. Object oriented languages and their supporting
run-time environment are covered.
Prereqs: CS-315 and engineering standing.
The course covers the basic techniques of artificial intelligence
as well as the logical apparatus necessary for an understanding
of the material. The students learn techniques for knowledge
representation and appropriate search strategies. Additionally,
they use artificial intelligence systems.
Prereqs: CS-315, CS-375, and engineering standing.
This course provides an introduction and overview of operating
system design, internals, and administration. Topics include
classical operating systems (process management, scheduling, memory
management, device drivers, file systems), modern operating systems
concepts (kernel/microkernel designs, concurrency synchronization,
interprocess communication, security and protection), and operating
system administration.
Prereqs: CS-315, CS-380, and engineering standing.
Broad overview of concepts in networking and distributed
operating systems with examples. Topics will include protocol
stacks, link, network, transport, and application layers, network
management, the client-server model, remote procedure calls, and
case studies of distributed OS and file systems.
Prereqs: CS-315 and engineering standing.
This course focuses on advance computer architectures and
low-level system software. Topics include RISC architectures,
vector and multiprocessor architectures, multiprocessor memory
architectures, and multiprocessor interconnection networks.
Peripheral devices such as disk arrays, NICs, video/audio devices
are covered. Topics also include device drivers, interrupt
processing, advanced assembly language programming techniques,
assemblers, linkers, and loaders.
Prereqs: CS/EE-380 and engineering standing.
Studies of emerging research and methods in computer science. A
review and extension of selected topics in the current
literature. When the course is offered, a specific title with
specific credits, the number of hours in lecture-discussion and
laboratory will be announced. Lecture/discusion, two-four hours;
laboratory, zero-four hours per week. May be repeated to a maximum
of eight credits under different subtitles.
Prereqs: Variable, given when topic is identified, or consent of
instructor.
Projects to design and implement complex systems of current
interest to computer scientists. Students will work in small
groups.
Prereqs: CS-315 and engineering standing.
The course introduces a variety of modern techniques in database
and distrbuted database systems. The major topics include, but
are not limited to: object-oriented database systems; distributed,
heterogenerous and web-based databases; knowledge based systems;
physical database design; and security. The course covers a variety
of methods that allow for a solution of database problems where
the traditional relational database techniques are not viable or not
sufficient.
Prereqs: CS-405 or consent of instructor.
The design and analysis of efficient algorithms and data
structures for problems in sorting, searching, graph theory,
combinatorial optimization, computational geometry, and algebraic
computation. Emphasis on paradigms for design and on rigorous
analysis. Practical issues pertaining to efficient implementation
and performance measurements.
Prereqs: CS-315 or instructor's consent.
Study of computer science techniques, tools and resources that
support computational science and engineering computing.
Emphasis on visualization, perfomrance evaluation, high performance
(parallel and distributed) computing.
Prereqs: CS-115, CS/EE-380, CS/MA/EGR-537 or consent of
instructor.
Three-dimensional graphics primatives such as 3D viewing,
lighting, shading, hidden line/surface removal, and more advanced
topics such as solid modeling, image storage and representation,
advanced raster graphics architecture and algorithms, advanced
modeling techniques, and animation will be covered.
Prereqs: CS-335, CS-315, CS-321, and engineering standing.
This course covers the fundatmental concepts involved in
understanding and engineering a closed-loop, sensing, reasoning,
and acuating agent. Biological models of sensing and actuation
will be discussed and related to modern artificial counterparts.
The course consists of three major topic areas: Vision, Brain, and
Robotics. It will introduce students to the issues in computer and
biological vision, to models of belief representation and
modification, architectures for percept processing and reasoning,
machine learning for vision, neural networks, path planning,
intelligent localization based on visual cues, and to forward and
inverse kinematics, intelligent grasping, and the integration of
perception and action.
Prereqs: CS-463G or consent of instructor.
Floating point arithmetic. Direct methods for the solution of
systems of linear algebraic equations. Polynomial and piecewise
polynomial approximation, orthagonal polynomials. Numerical
integration: Newton Cotes formulas and Gaussian quadrature.
Basic methods for initial value problems for ordinary differential
equations. Applications of software packages to common problems in
science and engineering.
Prereqs: CS/MA-321 or equivalent or graduate standing or consent
of instructor. Knowledge of a procedural computer language is
required. (Same as EGR/MA 537.)
A continuation of CS/EGR/MA 537. Roots of a nonlinear equation
and minimization of a function of a single variable. Linear
difference equations. Numerical methods for ordinary differential
equations: initial value problems, and elementary techniques for
two-point boundary value problems.
Prereqs: A grade of B or better in CS/MA 321 or CS/EGR/MA 537 or
equivalent. (Same as MA 538.)
Intermediate aspects of a compilation process with an emphasis on
front-end issues. Practical issues in using compiler writing
tools. Code generation for expressions, control statements and
procedures (including parameter passing). Symbol tables, runtime
organization for simple and structured variables. Using compilers
and translators for automation (filters, programs writing programs).
Prereqs: CS-441 or insructor's consent.
The course covers fundamentals of declarative programming with
emphasis on logic programming. Topics will include predicate
logic and automated theorem proving techniques such as tableaux and
resolution with unification. Logic-based programming paradigms,
including constraint logic programming, and logic programming
languages such as PROLOG will also be discussed.
Prereqs: CS-315 and CS-375 or consent of instructor.
The course briefly reviews classical operating system concepts
and then introduces the fundamental paradigms of distributed operating
systems including network communication paradigms, internetworking,
and remote procedure calls. The course takes an in-depth look at
distributed resource management (e.g., distributed scheduling and
synchornization, DSM and DFS systems). Topics related to
multiprocessor operating systems, database operating systems and
issues involved in protection of resources are also covered. Students
will inspect and modify actual operating system code.
Prereqs: CS-470 or consent of instructor.
Principles of computer networks using current Internet
technologies and protocols as an example. Error detection and
recovery; techniques for sharking a multiple-access channel; routing
protocols; end-to-end transport; flow control; congestion avoidance
and control; how to build applications using common network APIs.
If time permits the latter part of the course will cover ancillary
topics including network management and network security.
Prereqs: CS-471G or consent of instructor.
The formal study of computation, including computability and
computation with limited resources. Church's thesis and models
of computation. Formal languages and machines as recognizers of
languages. The Chomsky Hierarchy of language types. Topics may
include Turing machines or other basic models of computation;
decidability and undecidability; basic complexity theory; finite
automata and regular languages; pushdown automata and
context-free languages; and context-sensitive languages.
Prereqs: CS-375 or consent of instructor.
Topics to be selected by staff. May be repeated to a maximum of
six credits, but only three credits may be earned by a student
under the same topic.
Prereqs: Restricted to computer science and electrical engineeirng
majors. Only by permission.
A course in the design of microcomputer systems for hardware
engineers which includes the following topics: use of uncommitted
logic arrays in instruction set design; hardware support for operating
systems and programming languages; customizing microcomputers for
specific execution environments; and control of concurrency.
Design and implementation of a large computing project under the
supervision of a member of the graduate faculty.
Prereqs: Satisfactory completion of the departmental foundational
examinations.
Reading course for graduate students in computer science. May be
repeated to a maximum of nine credits.
Prereqs: Overall standing of 3.0, and consent of instructor.
This course provides and overview of the software engineering
discipline: software requirements, software design, software
construction, software management, and software quality. Testing and
validation techniques will be emphasized throughout the course.
Programs and program fragments will be developed and studied
throughout the course to illustrate specific problems encountered in
the lifecycle development of software systems.
Prereqs: At least nine hours of graduate computer science courses.
This course provides graduate students in computer science and in
other fields of science and engineering with experience of
parallel and distributed computing. It gives an overview of parallel
and distributed computers, and parallel computation. The course
addresses architectures, languages, environments, communications, and
parallel programming. Emphasis on understanding parallel and
distributed computers and portable parallel programming with MPI.
Prereqs: Two 500 level CS courses or consent of instructor.
The course will present advanced computational science techniques
needed to support large scale engineering and scientific
computations. Emphasis on iterative methods for solving large sparse
linear systems and parallel implementations of iterative techniques.
Prereqs: CS537 or consent of instructor.
This course covers the path from a conceptual vision of a shape
to a concrete computer-based description that is suitable for
manufacturing. It covers various solids modeling techniques,
including volume representations, boundary representations,
instantiation and boolean combinations of shapes, and procedural
generation such as sweeps. It discusses effectively data
structures and consistent and unambiguous part description
formats to transfer a shape from a designer to a fabrication
house, as well as problems with maintaining unambiguous topology
in the presence of finite-precision geometry.
Prereqs: CS-535 or consent of the instructor.
Overview of current concepts and issues in CAGD with emphasis on
free-form surface design; mathematics of free-form curve and
surface representations, including Coons patches, Gregory patches,
Benzier method, B-splines, NURBS, triangular interpolants, and
their geometric consequences; creating objects with smooth
surfaces, covering assembling spline patches, geometric and
parametric continuity, texture mapping onto complex shapes,
subdivision surfaces, surface evolution, and global optimization.
Prereqs: CS-535 and CS-321, or consent of the instructor.
This course covers the underlying principles and techniques of 3D
computer animation. The topics covered include (1) modeling: the
process of building the forms that will be animated, (2)
rendering: the process of defining how the final picture in the
model will look, (3) animation techniques: the process of
creating inbetween frames and keyframes, (4) compositing and
special effects: the process of assembling various pieces of an
image to get special two-dimensional effects, and (5) recording:
the principles and techniques involved in putting animation
frames onto film or video.
Prereqs: CS-335 and CS-535, or consent of the instructor.
This course covers the fundamental techniques in multimedia
systems for capturing, managing, accessing and delivering digital
media over local, wide-area and wireless network technology. The
core topics will emphasize the digital media (images, video,
audio) and the algorithms to generate, store, access, and process
it. Network concepts will be presented at a high level only.
Prereqs: CS-335 or consent of the instructor.
The course outlines applications of image processing and
addresses basic operations involved. Topics covered include
image perception, transforms, compression enhancement,
restoration, segmentation, and matching.
Prereqs: Graduate standing and consent of instructor (Same as
EE-635).
This course covers image processing as well as advanced topics in
computer vision. Initial topics include image formation, digital
filtering, sensor modeling and feature detection techniques.
The course will discuss how these algorithms are used to address
general computer vision problems including three-dimnsional
reconstruction, scene understanding, object recognition, and
motion analysis.
Prereqs: CS-536 or consent of instructor.
This course covers a mixture of core techniques related to
systems for constructing and modeling virtual environments, such
as model-building, image-based rendering, headmounted hardware,
stereo image generation, head-tracking, and immersive display
technology. The core topics will be presented using textbooks
and papers from the current literature. A substantial group
project will provide hands-on experience with the concepts,
algorithms, and technology.
Prereqs: CS-335 and CS-635.
Optimization, special purpose languages, compiler-compiler,
industry compiler practice.
Prereqs: CS-541 or consent of instructor.
The objective of the course is to prepare students for research
in the field of supervisory control of discrete event systems
(DES's). Logical models, supervising control. Stability and
optimal control DES, complexity analysis and other related
research areas will be covered.
Prereqs: Graduate standing or consent of instructor. (Same as
EE642.)
This course is an advanced investigation of the design of
programming languages. It looks at features, not complete
languages, touching on such languages as Ada, CLU, FP, Haskell,
Icon, Lisp, ML, Modula-2, Modula-3, Pascal, Post, Prolog,
Russell, and Smalltalk-80. Students will not become proficient
in any of these languages, but rather will learn what
contributions each has made to the state of the art in language
design. Compiler-construction issues will be touched on only in
passing. Main topics will be control structures, type
mechanisms, functional programming, object-oriented programming,
logic programming, dataflow, strings, and concurrency. The class
will also discuss formal semantics of programming languages,
particularly denotational semantics. There will be several
written and programming assignments.
Prereqs: CS-575 or CS-580.
Overview of modern artificial intelligence. Covers topics such
as predicate logic, searching and game trees, knowledge
representation techniques, methods to represent uncertain
information and to reason about it, reasoning about action and
planning, expert systems, machine learning and neural networks.
Prereqs: CS-555 or consent of instructor.
This course covers advanced distributed operating system
algorithms and theory. Topics such as distributed mutual
exclusion, distributed event ordering, distributed deadlock
detection/avoidance, agreement protocols, consistent global
snapshot collections, stable predicate detection, failure
recovery, fault-tolerant consensus, leader election, process
groups and group communication. Case studies of distributed
operating systems such as LOCUS, Grapevine, V System, ISIS,
Amoeba, Sprite, and Mach will be used as illustrations of the
above algorithms.
Prereqs: CS-570 or consent of instructor.
This course is intended to provide students with a solid
understanding of the state of the art in computer network systems
and protocols. Topics are covered in some depth, including both
abstract and concrete aspects. The course begins with a study of
implementations of the current Internet Protocols (TCP, UDP, and
IP); this provides a concrete backdrop for the rest of the
course. The emphasis is on learning by doing, with programming
and other hands-on assignments associated with most topics.
Prereqs: CS-571 or consent of instructor.
The problem of correct transmission of data in a noisy
environment. The design and analysis of codes that efficiently
(in terms of data rate and encryption and decryption speed)
correct errors. Linear and nonlinear block codes, general
encoding and decoding techniques, fundamental bounds, dual codes
cyclic codes. Specific codes will be studied, including Hamming,
BCH, Reed-Muller, Reed-Solomon, trellis, and convolutional codes.
Prereqs: CS-515 or consent of instructor.
Solving problems that are intractable. Exact techniques such as
search integer programming and dynamic programming.
Approximation techniques including lcoal search, divide and
conquer, and greedy algorithms. Methods based upon natural
models such as force-directed iteration, simulated annealing,
genetic algorithms, and neural networks. Examples will be
selected from active research areas.
Prereqs: CS-515 or consent of the instructor.
The formal study of computation, including computability and
computation with limited resources. Church's thesis and models
of computation. Topics will include Turing machines or other
basic models of computation; reductions; computable and computably
enumerable sets; Rice's Theorem; decidability and undecidability;
basic complexity theory; NP-completeness and notions of
intractability. Additional topics may incude primitive recursive
functions and the Grzegorczyk hierarchy; nondeterminism, the
arithmetic hierarchy; formal complexity measures; time and space
hierarchy theorems; the polynomial hierarchy and PSPACE;
probabilistic complexity classes; circuit complexity.
Prereqs: CS-575 or consent of instructor.
The study of intrinsic parallelism in computational problems and
the design of fast and efficient parallel algorithms. Parallel
algorithms for prefix computation, selection, merging, sorting,
routing, arithmetic, graph, and systolic algorithms.
Prereqs: CS-580.
Review of basic algorithms and discussion of active research
topics in the design and analysis of efficient algorithms and
data structures for geometric problems with applications in
computer graphics, pattern matching, manufacturing, robotics,
facility location, and geographic information systems. Practical
issues pertaining to efficient and accurate implementations, and
related to libraries of geometric data structures and algorithms.
Prereqs: CS-515 or consent of instructor.
The study of security in communications and electronic computing.
The encryption of data using public key systems, block ciphers,
and stream ciphers. The basic tools for the design and analysis
of such systems. Topics may include information theory,
authentication, digital signatures, secret sharing schemes,
complexity theoretic isues, probabilistic encryption, electronic
commerce and others.
Prereqs: CS-515 or consent of instructor.
The design of algorithms for graph problems. In particular, the
design of efficient algorithms for optimization problems on
graphs, such as minimum spanning tree, shortest paths, maximum
matching and maximum flow problems. Design of heuristic
(approximation) algorithms. Search trees, heaps, and their
self-adjusting variants. Methods of estimating algorithm
performance: worst-case analysis, average-case analysis,
amortization.
Prereqs: CS-580 or consent of instructor.
May be repeated to a maximum of four credits.
Prereqs: Consent of instructor or two 500-level computer science
courses.
Application of the symbolic of Boole and Schroeder to the design
of switching systems. Topics include boolean algebra, Boolean
analysis, the solution of logic equations, the minimization of
Boolean formulas, and the diagnosis of failures in digital
systems.
Prereqs: EE-280 or consent of instructor (Same as EE-682).
Advanced topics in artificial intelligence. Specific topics may
include but are not limited to: knowledge representation, expert
systems and knowledge acquisition, intelligent agents, constraint
satisfaction, problem solving and planning, machine learning and
inductive logic programming, deductive databases and logic
programming, natural language understanding and processing.
Prereqs: CS-660 or consent of instructor.
Advanced topics in computer graphics, computer vision, and
multimedia systems. Specific topics include but are not limited
to: isophotes, volume rendering, displacement mapping, geographic
information systems (GIS), remote sensing topics, large scale
sensor networks, video and audio encoding, visualization,
immersive environments, and multimedia interfaces.
Prereqs: Consent of instructor.
Topics to be selected by staff. May be repeated to a maximum of
six credits but only three credits may be earned under the same
topic.
Prereqs: Consent of instructor or two 500-level computer science
courses.
Advanced topics in algorithm design and analysis, and in theory
of computing. Specific topics may include, but are not limited
to: advanced graph algorithms, parallel algorithms, coding theory
and cryptography, models of computation, recursion theory,
computational complexity.
Prereqs: Consent of instructor.
This course is a special topics course. The topic and syllabus
will change each time the course is offered, reflecting the
interests of the instructor. Typically the course will survey new
research in the topic area but may also look back at connonical
and ground breaking work from the past. Example course topics
might include things such as web operating systems, global file
systems, distributed object-based systems, fault
tolerance/distributed checkpointing, high-speed networking,
network security, active networking, group communication models,
compilers for parallel/distributed computing, recent programming
languages, and data mining.
Prereqs: Consent of instructor.
The purpose of this course is to introduce various aspects of the
neural networks and neurocomputing. The course starts with an
introduction Learning Machines and analyzes various learning
algorithms such as Hebbian, Grossberg's and Kohonen's learning
algorithms. Some of the neural networks that will be studied in
detail are: Backpropogation nets, Hopfield nets, Adaptive
Resonance Theory, Adaline and Madalines, Kohonen's Self learning
nets, BAMs, Neocognition, etc. Students will implement a minimum
of three learning algorithms.
Prereqs: Graduate standing. (Same as EE-688.)
Advanced topics in numerical analysis, scientific computation,
and complexity of continuous problems. Specific topics may
include, but are not limited to: iterative methods, advanced
parallel algorithms in numerical linear algebra, multivariate
function approximation and integration.
Prereqs: CS-537 or consent of instructor.
Half-time to full-time work on thesis. May be repeated to a
maximum of six semesters.
Prereqs: All course work toward the degree must be completed.
Half-time to full-time work on dissertation. May be repeated to
a maximum of six semesters.
Prereqs: Registration for two full-time semesters of 769
residence credit following the successful completion of the
qualifying exams.
This course is from 1-6 credit hours and may be repeated to a
maximum of 12 hours.
This course is from 0-12 credit hours and may be repeated
indefinitely.
A course in writing emphasizing argument, instruction, and
practice in reading critically, thinking logically, responding to
texts, developing research skills, writing substantial essays
through systematic revision, addressing specific audiences,
expressing ideas in standard and correct English. Includes
grammar and mechanisms review. Notes: (a) Credit not available by
special examination; (b) ENG-101 and ENG-102 may not be taken
concurrenty.
Argumentative writing. Emphasis on development of a fluent,
precise, and versatile prose style. Continued instruction and
practice in reading critically, thinking locically, responding to
texts, developing research skills, writing substantial essays through
systematic revision, addressing specific audiences, expressing ideas
in standard and correct English. Notes: (a) Credit not available by
special examination; (b) ENG-101 and ENG-102 may not be taken
concurrently.
Prereqs: ENG-101.
A course in 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.
Prereqs: Math ACTE score of 26 or above, or MA-109 and MA-112, or
MA110, or consent of department.
A continuation of MA-113, primarily stressing techniques of
integration. Lecture, three hours; recitation, two hours per
week.
Prereqs: High school trigonometry or MA-112; and a grade of C or
better in MA-113 or MA-132.
An advanced general course covering the mechanics of solids,
liquids, and gases; heat; and sound. Lecture, three hours;
recitaiton; one hour.
Prereqs or concur: MA-114.
An advanced general laboratory course with experiments on the
mechanics of solids, liquids, and gases; and on heat and sound.
Prereqs or concur: PHY-231.
An advanced general course covering electricity, magnetism, and
optics. Lecture, three hours; recitation, one hour. This course
is prerequisite to a significant number of courses in this and related
areas of study.
Prereqs: PHY 231; Concur: MA-213.
An advanced general laboratory course with expirements
on electricity, magnetism, and light. This course is
prerequisite to other courses in physics and related areas of study.
Prereqs: PHY-241; Concur: PHY-232.
Boolean algebra; combinational logic circuits; synchronous
sequential circuits; asynchronous sequential circuits; design
problems using standard integrated circuits.
Prereqs: CS-115.
MA-213 is a course in multivariate calculus. Topics include
three-dimensional vectors calculus, partial derivatives, double
and triple integrals, sequences, and infinite series. Lecture, three
hours; recitation, two hours per week.
Prereqs: MA-114 or equivalent.
Algebra of matrices, elementary theory of vector spaces and inner
product spaces, the solution of simultaneous linear equations
using Gaussian elimination and triangular factorization.
Orthogonal projections, pseudo inverse and singular value
decomposition, least squares approximation. Determinants, eigenvalues
and eigenvectors, diagonalization.
Prereqs: MA-114.
The role of chance in expiremental outcomes. Simple discrete and
continuous probability distributions; combinatorics; moments and
expectations; normal and binomial distributions; computer
simulation and simple Monte Carlo methods. Descriptive statistics,
charts, and graphs, and elements of statistical inference using
interactive statistical packages (e.g., SCSS and/or MINITAB).
Prereqs: CS-150, CS-102, or CS-221. Coreq: MA-114, MA-132, or
MA-118.
Whether or not you would like to participate in paid work outside of class.
Select your preference for the following:
Taking time off from school to gain industry experience before graduation.
Participating in a research project with a UK professor or outside source.
The Grade Point Average you would like to have each semester.
Select your preference for desired accumulative GPA:
Desired overall GPA is a 2.0 or higher.
Desired overall GPA is a 2.5 or higher.
Desired overall GPA ia a 3.0 or higher.
Desired overall GPA is a 3.5 or higher.
The number of semesters you prefer to graduate in.
Select your preference for number of semesters to graduate in:
Obtain a degree from UK in fewer than 5 semesters.
Obtain a degree from UK in 5 or 6 semesters.
Obtain a degree from UK in 7 or 8 semesters.
Obtain a degree from UK in 9 or 10 semesters.
Obtain a degree from UK in more than 10 semesters.
Graduate School.
I plan on attending graduate school:
It's a good idea to
work on projects on your own outside of class.
Industry.
I plan on working in the computer industry:
Most industry jobs will
require you to keep a regular schedule. Getting used to rising early
might not be a bad idea.
Both Klapper and
Jaromczyk are good professors to work on a research project with.
Maximize my GPA.
I want to maximize my GPA:
Many students are not at their best
in the morning. Unless you are a morning person, you may want to
avoid taking too many early classes. Choose classes at a time
that you are fully alert and can work well.
Choose homework styles that you are comfortable with and perform
well on.
Graduate rapidly.
I want to graduate as soon as possible:
Strong restrictions on your
available times may prevent you from taking required courses which offer
only one or two sections each semester.
Strong restrictions on the
professors you are willing to work with may prevent you from taking
required courses which are only taught by one professor each
semester.
Strong restrictions on the
days of the week that you want classes may prevent you from
taking required courses that are only offered on certain days.
Party like a rock star.
I plan on partying as much as possible:
Remember, early classes are tricky
when you've been out all night drinking.
Don't put your course
load too high. The less homework you have, the more time is left
over to party.
Avoid Goldsmith and Klapper if
you can. They won't give you a break if you're hung over.
Attending school on a part-time basis.
I plan on attending school on a part-time basis:
It's good to have all classes
around the same time so that a working day is not broken apart.
Either morning classes or evening classes are good but not both at
the same time.
Projects for a class can take a lot
of time outside of class to complete.
There are no preset values or attributes.
I am none of the above. I want to build my own archetype: