This is a collection of personal projects and assignments from UMGC. Actively being updated:
A study of structured and object-oriented programming using the Java language. The goal is to design, implement, test, debug, and document Java programs, using appropriate development tools. Projects require the use of algorithms, simple data structures, and object-oriented concepts.
The objective is to design, implement, test, debug, and document Java programs, using appropriate development tools. Topics include object-oriented design, event-driven programming, exceptions, recursion, arrays, and data structures. The aim is to write safe and secure computer programs. Topics include the syntax and semantics of programming languages and run-time support required for various programming languages.
The objective is to design and build Python applications that are resistant to common security threats. Topics include syntax, data structures, style guides, data munging, web application frameworks, and the use of secure coding tools and processes to guard against application vulnerabilities.
Advanced Programming Languages examines a variety of programming languages and language paradigms. The primary languages studied include C++, Ada 95, Java, LISP, and Prolog. Occasional references will be made to other languages that have unique features. Language categories studied will include imperative, structured, object-oriented, concurrent, event-driven, and declarative.
The goal is to design, implement, test, debug, and document complex robust programs in an object-oriented language. Concepts of object-oriented programming such as composition, classification, and polymorphism are explored. Topics include the principles of concurrent programming such as task synchronization, race conditions, deadlock, threads, and event-driven graphic user interface programs. Some of the issues studied are:
- runtime data-typing; interfaces and generics.
- concurrency.
- object design using classification and composition.
- event-driven GUI programs.
The aim is to develop secure Java programs. Topics include linked lists, stacks, queues, arrays, maps, vectors, and trees. Algorithms that perform sorting, searching, and recursion are discussed and analyzed. Data Structures and Analysis covers ways to effectively use data structures in programs and to evaluate programs by estimating their Big-O, Big Omega, and Big Theta run-time rates.