Andrew Watkins's Web Space




Home
Research
Teaching
Personal

Teaching

Since the Fall semester of 2002 I have been teaching in the Department of Computer Science and Engineering at Mississippi State University.

I am currently teaching the following courses:
CSE 2383 Data Structures and Analysis of Algorithms
CSE 2813 Discrete Structures
I have taught these and other courses in previous semesters.  For most of these courses, below I provide links to these previous semesters' courses' homepages. 

Courses taught in previous semesters:
CSE 4833/6833 Introduction to Analysis of Algorithms 
Description: Upper-division undergraduate/early graduate level course: Study of complexity of algorithms and algorithm design. Tools for analyzing efficiency; design of algorithms, including recurrence, divide-and-conquer, dynamic programming, and greedy algorithms.
CSE 4733/6733 Operating Systems I
Description: Upper-division undergraduate/early graduate level course: Historical development of operating systems to control complex computing systems; process management, communication, scheduling techniques; file system concepts and operation; data communication, distributed process management.
  • Spring 2005, Summer 2005, Spring 2007, Summer 2007
CSE 4214/6214 Introduction to Software Engineering
Description: Upper-division undergraduate/early graduate level course: Introduction to software engineering: planning, requirements, analysis and specification, design; testing; debugging; maintenance; documentation. Alternative design methods, software metrics, software project management, reuse and reengineering.
  • Summer 2005
CSE 3813 Introduction to Formal Languages and Automata
Description: Junior-level course: Theoretical foundations of computer science; formal languages and automata, parsing of context-free languages; Turing machines; introduction to computability and complexity. The objective of this course is to give students a broad overview of the theoretical foundations of Computer Science.
CSE 2813 Discrete Structures
Description: Sophomore-level course: Concepts of algorithms, induction, recursion, proofs, topics from logic, set theory, combinatorics, graph theory, automata theory fundamental to the study of computer science.
CSE 2383 Data Structures and Analysis of Algorithms
Description: Sophomore-level course: Non-linear data structures and their associated algorithms. Trees, graphs, hash tables, relational data model, file organization. Advanced software design and development.
CS 2314 Computer Science II
Description: Sophomore-level course: Intermediate software design and development based on object-oriented paradigm. Sorting and searching, relational data model, file organization, data representations.
CS 1314 Computer Science I
Description: Freshman-level course: Software design, implementation, testing and documentation based on the object-oriented paradigm. Algorithm development and analysis, abstract data types including lists and trees, recursion. Applications.