CSC 210 — Software Development
Software development covering modularization, object-oriented programming, design patterns, testing, debugging, source control, build systems, and data structures.
Instructor: Shreya Nupur Shakya
Term: Summer
Course Overview
CSC 210 introduces students to the development of larger software systems and the tools and practices used to design, implement, test, and maintain software.
Topics
- Strings, arrays, and lists
- Classes and object-oriented programming
- Abstract data types (ADTs) and interfaces
- Recursion
- Testing
- Classes and inheritance
- Objects and equality
- Abstract classes
- Interfaces and polymorphism
- Class hierarchies and UML
- Enums and switch statements
- Exceptions
- Generics
- Nested classes
- Copy constructors
- Primitive vs. reference types
- Algorithmic complexity
- Hash tables
- Recursive backtracking
- Language translation and execution
- Code refactoring
- Java vs. Python