IS 125 Principles of Programming II

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: IS 124. NOTE: Offered spring semesters only. Contact Hours: (2,2)

Credits

3