CSCI-C212/A592: Introduction to Software Systems
Fall 2024
This class serves as a second-semester computer science course with the intent of introducing students to the Java programming language and its pragmatics. In particular, we emphasize object-oriented programming, data structures, and algorithms. Topics are covered at an introductory level, with the intent of preparing students for subsequent computer science classes, e.g., data structures, programming languages, operating systems, and beyond. Student work consists of programming problem sets, paired-programming labs, and written exams.
Upon completion of this course, you should be able to:
- Use basic programming constructs including variables, decisions, loops, and functions in writing programs;
- Utilize object-oriented programming concepts of classes, objects, encapsulation, inheritance, and polymorphism in designing programs;
- Demonstrate skill in using software development methodology to design, implement and debug object-oriented software systems;
- Use appropriate components from the Java Collections framework to solve a given problem;
- Use an IDE to develop, debug, test and run programs;
- Analyze searching and sorting algorithms using asymptotic analysis techniques.