Andrew Lukefahr

Assistant Professor
Computer Science Department
Indiana University

lukefahr@indiana.edu

401E Lindley Hall
150 S. Woodlawn Ave
Bloomington, IN 47405

Curriculum Vitae

Home

Research

Publications

Teaching

CSCI-P536 Advanced Operating Systems

Advanced topics in operating systems, such as: multi-tasking, synchronization mechanisms, distributed system architecture, client-server models, distributed mutual exclusion and concurrency control, agreement protocols, load balancing, failure recovery, fault tolerance, cryptography, multiprocessor operating systems.

Fall, 2017

EECS 370: Introduction to Computer Organization

Basic concepts of computer organization and hardware. Instructions executed by a processor and how to use these instructions in simple assembly-language programs. Stored-program concept. Datapath and control for multiple implementations of a processor. Performance evaluation, pipelining, caches, virtual memory, input/output.

University of Michigan, Winter 2015, Enrollment: 325

EECS 280: Programming and Introductory Data Structures

Techniques and algorithm development for effective programming, top-down analysis, structured programming, testing, and program correctness. Program language syntax and static and runtime semantics. Scope, procedure instantiation, recursion, abstract data types, and parameter passing methods. Structured data types, pointers, linked data structures, stacks, queues, arrays, records, and trees.

University of Michigan, Fall 2016, Enrollment: 314

EECS 281: Data Structures and Algorithms

Introduction to algorithm analysis and O-notation; Fundamental data structures including lists, stacks, queues, priority queues, hash tables, binary trees, search trees, balanced trees and graphs; searching and sorting algorithms; recursive algorithms; basic graph algorithms; introduction to greedy algorithms and divide and conquer strategy.

University of Michigan, Winter 2017, Enrollment: 291