This course is not currently scheduled.
Please check back at a later date for future semester offerings.
This course covers the fundamentals of algorithms and object oriented software development. Topics include: modern IDE for software development, primitive and reference data types, encapsulation, information hiding, selection, iteration, functions/methods, parameters, recursion, exception handling, generic linear data structures (arrays,records/structs) and maps, file types, file I/O, simple GUIs with event handling, programming to an interface, lambda expressions, semantics of inheritance and use of polymorphism, relation with subtyping, search (sequential, binary), select (min, max), and sort (bubble, insertion, selection) algorithms, complexity notation, documentation using standard tools, program testing (unit testing) and debugging, reasoning about control flow in a program, and societal impacts related to computing and software. Prerequisite: CSC 150 with a C- or better or permission of the instructor.