Subject name: Software Development 

-Back 

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.