CSCI 2270 - Computer Science 2: Data Structures
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. Degree credit not granted for this course and CSCI 2275. Same as CSPB 2270.
CSCI 3010 - Programming Project Workshop
Spring 2020 / Fall 2020 / Spring 2021
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 Data 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. Same as CSPB 3287.
CSCI 3308 - SoftwareDevelopment Methods and Tools
Fall 2019 / Spring 2020 / Summer 2020 / Fall 2020 / Spring 2021
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
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 enforced prerequisite: successful completion of a minimum of 36 credit hours of Computer Science coursework and approved WRTG. CSCI-BA students interested in taking this course should contact their advisor(s) early in their major.
CSCI 4318 - Software Engineering Project 2
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.