In this course students will receive a thorough introduction to programming phase which is one of the most important phases in software development. It is intended to cover the compilation process, design and creation of algorithms, different generations of programming languages, and structured programming. This course involves extensive programming activities using a third generation programming language, Python.

In this course students will receive a thorough introduction to programming concepts that are the foundation of software development.  It is intended to cover algorithms, different generations of programming languages, and variable manipulation.  Also students will construct functions and procedures using conditions and loops.  This course involves extensive programming activities using a fourth generation programming language; C++.

Two key phases in any System Development Project are: (1) the accurate discovery and analysis of user requirements and; (2) the design of a system that satisfies these requirements. This course addresses both. In this course students will receive general system analysis concepts and principles along with the most utilized design techniques
to complete the first fundamental phases of software development.

In this course students will receive a thorough introduction to the object-oriented paradigm with the use of C++, an object-oriented programming language. It is intended to cover important concepts and their applicability in this type of programming such as classes, objects and methods. Also students will appreciate the power of objects and the various advantages that it offers to software developers in this modern era. This course involves extensive programming activities using classes to encapsulate data as well as the application of inheritance, polymorphism and exception-handling.