|
Courses
on the Web |
|
[ Current Courses |
Interested in doing a Project? |
Previous Courses |
Scholarly Work ]
-
Courses
- For the Spring semester, I am teaching:
-
CS 1100,
Web Development: Client-Side Coding
- ... and am leading the following special courses:
- undergraduate research projects by:
If you are interested in doing a research project with me,
read more.
- past undergraduate research projects include ...
-
Alex Johnson, who implemented
a genetic programming simulator
for
the Joy programming language
and used it evolve programs to solve several elementary
programming problems
-
Nate Cronk, who created a dynamic software integration
test suite to support a centralized production tool
library for a large manufacturer
- Taylor Simington, who wrote a dynamic scraping tool
on top of BeautifulSoup to support a specific
class of data science projects
- Nathan Schmidt, who implemented a virtual machine
and debugger for a simple virtual machine
- Autumn Lauen, who studied the life and influence
of Ada Lovelace
- David O'Brien, who is exploring the idea of technical
debt in machine-learning systems
- Ethan Nelson, who constructed a home aeroponics system
and then implemented a web interface to control the
settings of the system remotely
- Alec Arcand, who creating an intelligent program to
play blackjack and then experimented with various
search strategies
- Drake Oswald, who designed a programming language
for doing linear algebra and implemented a compiler
for the language
- C.J. May, who developed an alternative approach to
malware research by developing Jaws, a programming
language consisting of whitespace; implementing a
compiler for Jaws; and used Jaws programs to explore
design flaws in current antivirus models
- Justice Adams, who investigated techniques for
preventing ROP attacks in LLVM-based compilers
(ROP = return-oriented programming)
- Tyler Little, who implemented a system to compute
Elo ratings for NFL games and experimented with
parameters to improve reliability and to simulate
fivethirtyeight.com's ratings
- Aaron Friel, who experimented with a way to
infer the types of effectful functions at
compile-time, in Haskell
- Trevor Smits, who created a statistical model
for predicting the results of NBA games
- Trent Morris, who created a genetic algorithm
to build a model for predicting the results of
NFL games
- Anthony O'Dell, who analyzed comprehensive
play-by-play data from NBA games in search of
an effective measure of an individual player's
defense
- Sean Fredericksen, who will create a language for
compiling a subset of Photoshop programs to HTML
- Francisco Mota, who designed and implemented Fuga,
a homoiconic OO programming language
- Joseph Winder, who is studied and implemented a number
of functional data structures
- Shawn Sparks, who created MBCSS, a new class-based
language for scripting CSS
- Derek Sellnau, who created an Android-based GPS system
for walking around the UNI campus
- Kevin Shannon, who implemented a translator from a subset
of natural language to SQL
- Nate Kemmer, who is implementing a Rails-based fantasy
baseball draft tool, including dynamic
revaluation of players based on draft
outcomes
- Allyn Bauer, who implemented program to play Stratego,
an imperfect-information game
- Paul Nadler, who implemented a scripting language for
players in his own on-line game
- Kyle Lieber, who implemented a version of the department
web site using Ruby on Rails
- Chuck Hoffman, who implemented software for manipulating
graphs and experimented with ideas such
the Small World phenomenon
- Jessica Puls, who implemented an interface to GMail in
Ruby, which can be used to do e-mail from
a cell phone or the web
- Alex Duzik (implemented a dynamic recompiler for
Mac Classic apps)
- Jesse McGuire (implemented a web search tool that learns)
- Ross Bohner (implemented a 3-D game)
- Ryan Dixon, who is implementing a program for creating
custom fonts from a user's handwriting
- Pat Burke, who working on natural language understanding
- Derek Lawless, who built an XML/Java-based pattern
repository and search tool
- graduate research projects by ...
-
none (we do not currently offer a master's program)
- past graduate research projects include ...
- Joshua Carroll
(tools for integrating complex product data
across many different sources)
- Sameer Thajudin
(a genetic algorithm to learn play checkers)
- Christian Schreiner
(analysis of process data in the management
of software development)
- Zach Abbott
(a tutorial on monads and functors)
- Rabik Maharjan
(search and data representation for progressive chess)
- Manish Shrestha
(enterprise software development)
- Sergei Golitsinski
(tools for automatic generation of web content)
- Patrick Burke
(case-based memory and natural language understanding)
- Nathan Labelle (open-source software dependencies
and scale-free networks)
- Shriram Ilavajhala (decision support for a GIS system)
- P.J. Prabakaran (web search engine for images)
- Diana Tanase (software patterns and symmetry)
- Troy Bull (fighting spam with Bayesian filters)
- Jim Bohy (Ed.D.--teaching ethics to CS students)
- Masatomo Noborikawa (refactoring toward frameworks)
-
Research Projects
- If you are interested in working on an undergraduate or graduate
research project with me, I would be happy to meet with you to
discuss your ideas! Please take a look at
this information page
before coming by, to find out what my expectations are and to see
examples of projects I'd be interested.
- Take a look at
Fred Zelhart's master's thesis
on an intelligent tutoring system he built. Fred was my first
grad student. I hope to post the work of my other past grad
students, including Mike Holmes and Tom Oleson, as times permit.
The work of students who finish in the near future will be
posted as it becomes available.
-
Previous Courses
- Some of my previous courses are still available on-line:
- CS 1510,
Introduction to Computing
- 810:061,
Computer Science I -- Media Computation
- 810:052,
Data Structures
- 810:062,
Computer Science II (Object-Oriented Programming)
- CS 2530
Intermediate Computing
- 810:172,
Software Engineering
- CS 3140,
Database Systems
- CS 3530,
Design and Analysis of Algorithms
- CS 3540,
Programming Languages and Paradigms
- CS 4550,
Translation of Programming Languages
- Agile Software Development,
May 2010
- Agile Software Development,
May 2014
- 810:161, Artificial Intelligence
- 810:162,
Intelligent Systems
- 810:171, Software Systems
- 820:140,
Environment, Technology, and Society
(capstone)
-
Scholarly Working in Teaching
- My teaching in the last few years has primarily involved a
three-course rotation of Algorithms, Programming Languages,
and Compilers. I have also taught our second course, on
object-oriented programming, on a regular basis. I am teaching
our first course this semester for the first time in a decade,
and loving it!
- As a part of my exploration of patterns,
I work on the discovery and use of patterns of programs in all of
my courses.
Eugene Wallingford .....
wallingf@cs.uni.edu .....
August 18, 2024