All of my courses operate under the same general policies and standards. All of my students are expected to study and understand these policies. Potential students are encouraged to check these out before signing up for one of my classes.
Oh, and by the way -- what he said.
I have directed twenty-four Ph.D. dissertations with five more in progress, and ten M.S. theses, as well as serving on the committees of another 45 Ph.D. students at Purdue and elsewhere. Several of these students are described on my
I am currently (2024) interested in taking on one or two additional students, although I will not have financial support right away.
Current and prospective thesis students should read the material on my
I have directed over 50 independent study projects for students since 1988. Normally these are listed as CS 490 classes for undergraduates, and CS 590 classes for graduate students.
Independent study and honors students are expected to prepare a written plan of study including a statement of the problem(s) they wish to address prior to registration. This should include a bibliography. The plan of study must be approved by me prior to registration. In addition to the results of the research, written progress reports are required each week, as is a final paper describing the work of the whole semester. Group projects are possible.
Note that students should plan on spending 3-4 hours of research or lab time per week for each credit hour of independent study. Thus, a typical 3-hour independent study class should involve 45-60 hours of work spread out through the semester. This cannot all be saved up until the last week!
Students planning on an independent study project should be prepared, plan a schedule of work, document progress, and be extremely motivated.
Students interested in a CS 2/3/4/5/690 or CS 497 course should see me to talk about it (contact Marlene Walls < walls @ cerias.purdue.edu >to schedule an appointment).
Spaf teaches (or has taught) many different courses in the CS department. These are listed below, most recent first. Some are links to class-specific pages where you can find a syllabus and/or reading list. See the official catalog descriptions for other info.
CS 52300, Social, Economic, And Legal Aspects of Security
This course focuses on social, legal, and economic aspects of information security and privacy, including ethics, policies, and human behavioral issues. The course covers the interactions between non-technological elements of information security and relevant technological aspects. It focuses on how non-technological facets can inform and guide technical choices and how technological choices can enhance or detract from broader organizational and societal goals.
CS 39000–GIS, Great Issues in Computing
This course provides an overview of current and essential professional and ethical issues in computing and their impact on society. Topics specialize in the impact of computing, including algorithmic bias, motives behind design decisions, data ethics, privacy and security, and legal issues. The goal of this course is to equip students with the framework and context necessary to think critically about the impact of computing. Discussions and readings will include current events.
CS 626, Advanced Topics in Security
This is the Advanced Information Assurance class. It is a follow-on to CS 526 and CS 555. The course is about the "big picture" of information security.
CS 591 S (Formerly CS 590 E), Security Seminar
Offered every semester since 1992. Pass/fail credit was added in Fall 1997. Supervision of this course is shared by several of the CS faculty in CERIAS.
SCI 490/CS 197, Freshman Honors Seminar for CS.
This is an enrichment class for honors CS students, and explores the broad impact of computing on society, and vice versa. Offered Fall 1997, Fall 1998, Fall 1999, and Fall 2000. Spaf taught it under the CS course designation in Spring 2003.
CS 426, Computer Security
First offered Spring 1999. This is the undergraduate course in computer security, with some network security added in.
CS 526, Introduction to Information Security
First offered as 590-I in Fall 1998. Taught as CS 526 in spring 2000. Other faculty have taught this more recently than I have.
CS 590 T, Penetration Analysis
Offered Spring 1997 and Spring 1998. It is uncertain when this will be offered again.
CS 555, Cryptography and Data Security
Regularly offered by various faculty. Spaf taught it in Spring 1996 and Spring 1997.
CS 690 E, Computer Incident Detection and Response
Offered Spring 1995. I hope to teach it again in 2004 or 2005.
CS 250, Computer Architecture
Regularly offered by various faculty. Spaf taught it in Spring 1994
CS 503, Operating Systems
Regularly offered by various faculty. Spaf taught it in Spring 1989, Spring 1992, Spring 1993.
CS 352, Programming Languages and Compilers
Regularly offered by various faculty. Spaf taught it in Spring 1993.
CS 536, Data Communication and Computer Networking
Regularly offered by various faculty. Spaf taught it in Spring 1992.
CS 413, Operating Systems and Networks
Regularly offered by various faculty. Spaf taught it in Spring 1988, Fall 1989, Fall 1991. In Fall 1998, CS 413 was replaced with CS 354.
CS 510, Software Engineering and Metrics
Regularly offered by various faculty. Spaf taught it in Spring 1991.
CS 590 S, Ethics, Liability, Responsibility & the Computer Professional
A special seminar that may not be offered again. It was offered in Fall 1988, Spring 1990, and Spring 1991.
CS 180, Programming I
Regularly offered by various faculty. Spaf taught it in Fall 1989 and Spring 1990.