I am interested in how information and communication technologies shape teaching, learning, and collaboration. My focus has included the social, cultural and corporeal dimension of human learning in technique and technology. I study ways to improve how enterprises and teams collaborate and the circulation of knowledge practices within technical fields.
keywords
Teamwork and Collaboration, Teaching and Learning in Software Engineering and Data Science, Human centered and culturally relevant computing, relationships between science, technology, society and culture.
CSCI 3155 - Principles of Programming Languages
Primary Instructor
-
Fall 2022 / Spring 2024
Studies principles governing the design and analysis of programming languages and their underlying execution models. Explores values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces formal semantics as a framework for understanding programming features. Introduces advanced programming concepts such as functional programming, higher-order functions, immutable values and structures, inductive types, functors, continuation-passing; and object-oriented programming using inheritance, generics and covariance/contravariance in a functional programming language such as Scala. Same as CSPB 3155.
CSCI 3287 - Design and Analysis of Database Systems
Primary Instructor
-
Fall 2024
Introduces the fundamental concepts of database requirements analysis, database design, and database implementation with emphasis on the relational model and the SQL programming language. Introduces the concepts of Big Data and NoSQL systems. Same as CSPB 3287.
CSCI 4022 - Advanced Data Science
Primary Instructor
-
Spring 2023
Introduces students to advanced tools, methods, and theory for extracting insights from data. Covers computational tools for storing and working with large data sets and computational techniques for common big data scenarios like graph data, recommender systems, and dimensionality reduction. Emphasizes both the efficient implementation of algorithms as well as the mathematical foundations behind techniques.
CSCI 4250 - History of Computing
Primary Instructor
-
Fall 2023 / Fall 2024
Explores the multifaceted histories of computing as punctuated by "great works" of computer science within the context of historical and social changes influencing and influenced by computing. We will consider people, institutions, and innovations starting with mechanical calculation and mathematical frameworks such as by Lovelace, Pascal, and Turing; early computers such as ABC and ENIAC; the pivotal role of military funding; the founding and development of fields transforming our lives such as artificial intelligence and the internet; and ways other fields, from engineering to cognitive science, interweave in the evolution of computing. Does not count as CS credit for the Computer Science BA, BS or minor.
CSCI 4308 - Software Engineering Project 1
Primary Instructor
-
Fall 2022 / Fall 2023
Senior capstone course in which students design, implement, document and test software systems for use in industry, non-profits, government and research institutions. Also offers extensive experience in oral and written communication throughout the development process. Department consent required. Department-enforced prerequisites differ for BS and BA degree. Contact academic advisor for details. Senior Capstone courses are optional for BA students. BA students interested in taking this course should contact their advisor early in their major.
CSCI 4318 - Software Engineering Project 2
Primary Instructor
-
Spring 2023 / Spring 2024
Second semester of a senior capstone course in computer science. Students must take this course and CSCI 4308 or 4328 contiguously as the project spans the entire academic year.