Subject name: Software Development |
Author : Topic content : |
Upon completion of this course, the students will be able to: • Describe the features an object-oriented programming language typically offers, including support for classes, visibility, inheritance, interfaces, polymorphism and dynamic binding. • Explain fundamental principles and best practices associated with object-oriented software development. These include abstraction, information hiding, interface programming, resilience to change, and reuse. • Put into practice object-oriented programming knowledge and develop a relatively large, concerning software developed on prerequisite courses object-oriented software application. • Describe the principles of application-level multithreading: threading, condition synchronization, mutual exclusion, and primitives associated with these. • Develop a multithreaded application that uses threads appropriately and correctly. • Describe and apply contemporary techniques that can be used to help develop software that meets its specifications. These include source code inspection and basic software testing techniques: black box, white box, and unit testing learn how to follow best practice when creating a object oriented model and how to distinguish between good and bad models.
|