CSCI 2270 - Computer Science 2: Data Structures
Teaching Assistant
-
Spring 2018
Studies data abstractions (e.g., stacks, queues, lists, trees, graphs, heaps, hash tables, priority queues) 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. Knowledge OF C++ is highly recommended. Degree credit not granted for this course and CSCI 2275. Same as CSPB 2270.
CSCI 3010 - Intensive Programming Workshop
Primary Instructor
-
Spring 2020 / Fall 2020 / Spring 2021 / Fall 2021 / Spring 2022 / Spring 2023 / Spring 2024
Explores concepts and techniques for design and construction of larger, reliable, and maintainable software systems in the context of object-oriented programming. Covers various topics including: object-oriented programming paradigms, scope, inheritance, program structure and design, practical use of version control, working with established code bases, and building graphical user interfaces. Emphasizes coding individually and in pairs and includes in class lab work, smaller coding assignments, and multiple weeks-long projects. Not intended for students in their final year of the Computer Science BA or BS degree. Formerly offered as a special topics course.
CSCI 3287 - Design and Analysis of Database Systems
Primary Instructor
-
Summer 2018
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 3308 - Software Development Methods and Tools
Primary Instructor
-
Fall 2019 / Spring 2020 / Summer 2020 / Fall 2020 / Spring 2021 / Fall 2021 / Fall 2022 / Spring 2023 / Fall 2023 / Spring 2024 / Fall 2024
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. Same as CSPB 3308.
CSCI 4308 - Software Engineering Project 1
Primary Instructor
-
Fall 2018
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 2019
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.
CSPB 3308 - Software Development Methods and Tools
Primary Instructor
-
Fall 2021 / Summer 2023 / Summer 2024
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. Same as CSCI 3308.