Skip redundant pieces

Alphabetical Course Listing - P

Here you will find all availble EECS courses listed alphabetically. The tabs above futher organize the courses by the starting letter of the course name. If there is a courses that you cannot find listed, or have questions about a course that are not answered by the courses description feel free to Contact Us.


Post-Master’s Research EECS 998

1-6 credit hours

Back to top

Principles of Software Engineering EECS 810

3 credit hours

Practical concepts of software engineering with a focus on managerial issues as well as formalism; modern software development process models; planning and management, requirements engineering, software architecture and design, quality assurance, testing, delivery and deployment; maintenance; ethics and professionalism; future of software engineering.

Prerequisite(s): EECS 448 and EECS 560 or equivalent. Not open to students who have taken EECS 848.

Back to top

Probability and Statistics EECS 461

3 credit hours

Introduction to probability and statistics with applications. Reliability of systems. Discrete and continuous random variables. Expectations, functions of random variables and linear regression. Sampling distributions, confidence intervals, and hypothesis testing. Joint, marginal, and conditional distributions and densities

Prerequisite(s): MATH 290, MATH 220, and upper-level EECS eligibility.

Back to top

Programming and Data Structures EECS 701

3 credit hours

Introduction to programming and algorithm development, classes and objects, various control structures, modular programming, function and procedures, recursive function, data structures, abstract data types, arrays, dynamic memory allocation, sorting and searching strategies, linked lists, stacks, queues, trees, time and space complexities, elementary algorithm analysis. This course will not count toward any EECS degree.

Prerequisite(s): Prerequisite: Admitted to an EECS MS program.

Back to top

Programming I EECS 168

4 credit hours

Problem solving using a high level programming language and object oriented software design. Fundamental stages of software development are discussed: problem specification, program design, implementation, testing, and documentation. Introduction to programming using object oriented language: using classes, defining classes, and extending classes. Introduction to algorithms and data structures useful for problem solving: arrays, lists, files, searching, and sorting. Student will be responsible for designing, implementing, testing and documenting independent programming projects. Professional ethics are defined and discussed in particular with respect to computer rights and responsibilities

Prerequisite(s): Corequisite: MATH 104

Back to top

Programming I - Honors EECS 169

4 credit hours

Problem solving using a high level programming language and object oriented software design. Fundamental stages of software development are discussed: problem specification, program design, implementation, testing, and documentation. Introduction to programming using object oriented language: using classes, defining classes, and extending classes. Introduction to algorithms and data structures useful for problem solving: arrays, lists, files, searching, and sorting. Student will be responsible for designing, implementing, testing and documenting independent programming projects. Professional ethics are defined and discussed in particular with respect to computer rights and responsibilities. This course is intended for highly motivated students and includes honors-level assignments

Prerequisite(s): Corequisite: MATH 121, plus either acceptance into the KU Honors Program or consent of instructor.

Back to top

Programming II EECS 268

4 credit hours

This course continues developing problem solving techniques by focusing on the imperative and object-oriented styles using Abstract Data Types. Basic data structures such as stacks, queues, and trees will be covered. Recursion. Basic notions of algorithmic efficiency and performance analysis in the context of sorting algorithms. Basic Object-Oriented techniques. An associated laboratory will develop projects reinforcing the lecture material. Three class periods and one laboratory period per week.

Prerequisite(s): EECS 168 or EECS 169

Back to top

Programming Language Foundation I EECS 762

3 credit hours

This course presents a basic introduction to the semantics of programming languages. The presentation begins with basic lambda calculus and mechanisms for evaluating lambda calculus terms. Types are introduced in the form of simply typed lambda calculus and techniques for type inference and defining type systems are presented. Finally, techniques for using lambda calculus to define, evaluate and type check common programming language constructs are presented.

Prerequisite(s): EECS 662 or equivalent.

Back to top

Programming Language Foundation II EECS 843

3 credit hours

This course presents advanced topics in programming language semantics. Fixed point types are presented followed by classes of polymorphism and their semantics. System F and type variables are presented along with universal and existential types. The lambda cube is introduced along with advanced forms of polymorphism. Several interpreters are developed implementing various type systems and associated type inference algorithms.

Prerequisite(s): EECS 762

Back to top

Programming Language Paradigms EECS 368

3 credit hours

The course is a survey of programming languages: their attributes, uses, advantages and disadvantages. Topics include scopes, parameter passing, storage management, control flow, exception handling, encapsulation and modularization mechanisms, reusability through genericity and inheritance, and type systems. In particular, several different languages will be studied which exemplify different language philosophies (e.g., procedural, functional, object-oriented, logic, scripting).

Prerequisite(s): EECS 268 and upper-level EECS eligibility

Back to top

Programming Languages EECS 662

3 credit hours

Formal definition of programming languages, including specification of syntax and semantics. Simple statements including precedence, infix, prefix, and postfix notation. Global properties of algorithmic languages including scope of declaration, storage allocation, grouping of statements, binding time of constituents, subroutines, coroutines, and tasks. Run-time representation of program and data structures.

Prerequisite(s): EECS 368, EECS 388 and EECS 560

Back to top

Projects EECS 399

1-5 credit hours

An electrical engineering, computer engineering, or computer science project pursued under the student’s initiative, culminating in a comprehensive report, with special emphasis on orderly preparation and effective composition.

Prerequisite(s): Upper-level EECS eligibility and consent of instructor

Back to top

Protein Bioinformatics EECS 835

3 credit hours

This course emphasizes the applications of computational algorithms to main problems in protein bioinformatics and molecular biology. A variety of topics, including protein sequence alignments, profiles, and protein structure classification and prediction, will be either introduced briefly or discussed in detail. Students will be asked to present some selected research papers

Prerequisite(s): EECS 730

Back to top