Teaching
-
CPSCI 410: Senior Seminar
Hamilton College, Spring 2025 Welcome to software development, a field riddled with challenges, including planning, problem solving, execution, and client needs. It also calls for ethical and equity mindfulness due to diverse software user communities. In this course, you’ll undertake a software project for a local client. Through this project, you will engage in standard software engineering practices, draw on your existing computer science knowledge, expand into new frontiers of computing, and complete a project of significance that may even stand the test of time. This course is designed to follow as closely as possible the experience of a software…
-
CPSCI 410: HCI for Social Good
Hamilton College, Fall 2023 This course introduces methods and tools used in Human Computer Interaction to design software that meets user needs. Students will work in teams to design, implement, and evaluate systems for clients with the goal of developing software that furthers social good. Students will work in teams of 3-4 to develop custom software for non-profits in the Central New York Area with a focus on aiding organizations that support underrepresented minorities. Key concepts include user research, design, coding, iterative design, prototyping, documentation, user evaluation, and computing for social good. Continue reading “CPSCI 410: HCI for Social Good”…
-
CPSCI 360: Developing Accessible User Interfaces
Hamilton College, Fall 2022, 2023, 2024 Introduction to access technology and the development of accessible systems. In this course, students build and evaluate various access technologies. Topics include text-to-speech, speech recognition, screen readers, screen magnification, alternative input, tactile displays, and web transformation. This course teaches students the deep inner workings of today’s user interface technology and serves as a guide for building the user interfaces of the future. Please note that there are some differences between this course (taught at Hamilton College) and the version taught at Barnard. Continue reading “CPSCI 360: Developing Accessible User Interfaces”…
-
CPSCI 102: Design Principles
Hamilton College, Fall 2024 A second course in programming, concentrating on principled software design techniques. Topics include class design, effective functional decomposition, recursion, and structured data. Students will continue to develop programming proficiency by writing programs in the C++ programming language. Course discussion will emphasize efficient implementations in terms of memory space and running time, computational complexity of algorithms, and an introduction to data structures Continue reading “CPSCI 102: Design Principles”…
-
CPSCI 101: Computer Science for All
Hamilton College, Spring 2023, Spring 2024 The first course in computer science is an introduction to algorithmic problem-solving using the Python programming language. Topics include primitive data types, mathematical operations, structured programming with conditional and iterative idioms, functional abstraction, and objects. Students apply these skills in writing programs to solve problems in domains across the liberal arts. No previous programming experience necessary. How to enroll: This class is enrolled on a first-come/first-served basis through the registrar. If you are interested in joining the class but it is full, please join the wait list and attend the first week of classes.…
-
COP3502: Introduction to Programming Fundamentals I
University of Florida, Summer 2019 This is the first course in a two-semester introductory sequence for students with no prior programming experience. It explores major concepts of computer science and the process of computer programming, including object-oriented programming, procedural and data abstraction, and program modularity. Taught at the University of Florida. Continue reading “COP3502: Introduction to Programming Fundamentals I”…
