Courses Taught
CSCI 1300 - Computer Science 1: Starting Computing
Teaches techniques for writing computer programs in higher level programming languages to solve problems of interest in a range of application domains. Appropriate for students with little to no experience in computing or programming.
Taught in Fall 2019, Spring 2020, Spring 2021, Summer 2023
CSCI 2270 - Computer Science 2: Data Structures
Studies data abstractions (e.g., stacks, queues, lists, trees, graphs) and their representation techniques (e.g., linking, arrays). Introduces concepts used in algorithm design and analysis including criteria for selecting data structures to fit their applications.
Taught in Spring 2020, Summer 2020, Fall 2020, Summer 2021, Fall 2021, Spring 2022, Summer 2022, Fall 2022, Spring 2023, Summer 2023, Fall 2023, Spring 2024, Spring 2025
CSCI 3287 - Design and Analysis of Database Systems
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.
Taught in Summer 2024
CSCI 3308 - Software Development Methods and Tools
Covers tools and techniques for successful software development with a strong focus on best practices used in industry. Students work in small teams to complete a semester-long application development project. Students learn front-end design and construction using HTML & CSS, back-end database design and construction, and full-stack integration. Students gain exposure to agile methodologies, web services, distributed version control, requirements definition, automated integration testing, and cloud-based application deployment.
Taught in Fall 2020, Spring 2021, Summer 2021, Spring 2022
CSCI 5817 - Database Systems
This course provides an advanced treatment of database management system concepts. The course is primarily focused on advanced concepts associated with design, implementation, and operations. The first part of the discussion of these topics is framed with the relational model, advanced SQL queries, and database operations such as indexing, query processing, transactions, and concurrency control. The second part of the course introduces students to Big Data, where they will learn about Apache Hadoop and Apache Spark. Finally, students are provided an introduction to design elements associated with contemporary database design models including NoSQL key-value stores, graph databases, document stores, and distributed databases.
Taught in Fall 2021, Fall 2022, Fall 2023