Teaching
CI10X - Computing and Informatics Design 1, 2, 3
I am the course coordinator for the CI10x sequence. CI101 typically runs in the Fall quarter, CI102 the Winter quarter and CI103 the Spring quarter. CI10x is the First Year Design Sequence but is officially Computing and Informatics Design I, II and III. We also run a 'trailer' of CI101 in the Spring, CI102 in the Fall and CI103 in the winter. I see this sequence as serving several puposes. First, students will get a taste of a variety of topics in CI101, which is a survey course. During this course students will also have several lab experiences for exposure to a variety of fields. Second, in CI102 and CI103, students will have a hands on unstructured project experience with a team of peers. Student teams can choose almost anything to do their project on, the instructional team will help teams that need to have the project scoped to fit within our academic timelines.
CS150 - Computer Science Principles
I have taught Computer Science Principles both here at Drexel and in my previous career as a HS teacher. This course is for non-majors and is a well rounded introduction to the big ideas of computer science and computational thinking. I am teaching it with the Python programming language.
CS171 - Computer Programming I
I am occasionally part of the CS171 instructional team. I enjoy teaching introductory programming, regardless of the language! The flavor or Python taught in this course is carefully curated to not instill bad habits and to make the transition to other languages easier on the student.
CS172 - Computer Programming II
As a part of the CS172 instructional team, I sometimes contribute to the many tasks necessary to keep a large class like this running. Object orientation is a great programming paradigm to introduce to students.
CS461 - Database Systems
I teach this course from the perspective of what a software developer needs to know about relational databases. The project is a large part of this course as putting the theory into practice is the best way to fully understand the theory. This is not taught in a specific RDBMS, but We use one or more of the many free and open source options in the market. The theory is focused on standard SQL rather than any vendor specific implementation of SQL.
CS478 - Advanced Web Development
I co-taught this course with Galen Long during a medical leave. This is a project based course for students who are interested in learning and practicing more sophisticated web development than what is covered in CS375.
CS501 - Programming Fundamentals
This was formerly CS570. I have taught the Java version of this course. The first half establishes all the basic structures of programming in Java, with small but usefull console programs. About half way through we shift to object orientated and work on a small number of larger projects.
My Preferred Pedagogies
Active learning has been proven via research to lead to better outcomes for more students. As such, I work to ensure that each learning experience involves students as actively as possible (while still fitting within our time constraints). I use POGIL and project-based learning in conjunction with reflective writing and small, low impact assessments.
Process Oriented Guided Inquiry Learning (POGIL) is an active learning structure that I employ because it is possible to explicitly teach process skills (sometimes called soft skills) at the same time as more technical concepts. The process skills I emphasise most are communication, collaboration, reaching consensus, critical thinking, and information processsing.
Project-based learning is an excellent fit with computer science as students can learn what they need to know to accomplish a task they care about. This style puts the instructor in the role of coach rather than dispenser of all knowledge.
Office Hours
My office is on the 10th floor of CCI, behind the vending machines!
Coming to office hours is an expected part of the learning process. Some of our lectures have so many students that the professor really cannot take questions or engage students in discussion of the topics. This is what office hours are for! You can still come to office hours to discuss a quiz result, or project feedback, or request an extension, but it's really for the type of one on one discussions that deepen learning.
I am happy to talk about course work, time management, life, decision razors, how to work with peers and instructors, just about anything that may be impacting your ability or will to learn in any course. I have had a lot of different experiences with education (I'm a first gen college student myself) and careers (been an entrepeneur, worked in manufacturing, packaging, tech and education).
I am involved in a lot of different initiatives on campus, so please check my Bookings page to see if I am available. To make up for the fact that I have a lot of meetings, I do allow office visits at any time in my work week that I am not in class or in a meeting.