Midterm Exam Contents for CS601 Principles of Software Development

[What I learned for half of my Semester]


Aug 20th - Software Development Lifecycle Model (Waterfall, Spiral Model, Agile)


Aug 22th - Agile - inspired SLDC models(Scrum, XP, TDD, Kansan, User Story, Use Case). User Requirements. OOP Design principles(Abstraction, Encapsulation, Inheritance, Polymorphism).


Aug 27th - Immutability, Design Principles Content. Json Files. How to read Json Files? 

How to make a class immutable? 


Aug 29th - Data Structure Review(Array, ArrayList, Set, Map), Interfaces How interface is different from abstract method? 


Aug 30th - Comparable / Comparator Interfaces 


Sep 3rd - Iterable / Iterator. Sealed Interfaces 


Sep 5th - Polymorphism, Dependency Injection. Composition. Inheritance


Sep 10th - Inheritance Cont(Static Methods, instance of). Abstract Class. 

When is downcast used? 


Sep 12th - Liskov Substitution principle. Abstract classes cont. Nested Classes(Inner class, Static Nested Class, Anonymous Inner Class) 


Sep 17th - Anonymous class, Nested Class, Creational Design Pattern(Singleton)


Sep 19th - Static Factory Method(reflection), Factory Method, Builder


Sep 24th - Design Patterns Cont(Adapter, Facade, Decorator, Observer) 


Sep 26th - Intro to Multithreading, Strategy Pattern MVC 


Oct 1st - Multithreading cont(join, callable, ExecutorService)


Oct 3th - Multithreading cont - synchronization (volatile, synchronized) 

What is Future/FutureTask? 


Oct 8th - Multithreading Cont : barriers (CountdownLatch, CyclicBarrierExample, Phaser)


Oct 10th - Multithreading cont: thread-safety. locks. (ConcurrentHashMap, AdvancedLock) 

What are thread-safe objects and what are not ?  How do you make thread pool?  


Comments

Popular posts from this blog

CICD Pipeline - Midterm Exam of Spring 2025 DevOps Class

Open Source Project - Open Energy Dashboard

2025 Spring CS686 DevOps - Final Project