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

Syllabus — Summer 2025

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