Professional Documents
Culture Documents
321EE3 Computer Programming: Chapter 0: Algorithmic Development (C++: The Object-Oriented Programming Language)
321EE3 Computer Programming: Chapter 0: Algorithmic Development (C++: The Object-Oriented Programming Language)
Computer
Programming
Chapter 0: Algorithmic Development
(C++: The Object-Oriented Programming Language)
Just one small positive thought in the morning can change your whole day. – …
321EE3 Computer Programming
• Course Contents
• 1. Algorithmic Development: Techniques of problem solving
• 2. Algorithmic Development: Flowcharting, decision table
• 3. Algorithmic Development: Structured Programming concepts
• 4. Basics of C++: Structure of C++ program, keywords and identifiers
• 5. Basics of C++: Constants, variables, data types and type conversion.
• 6. Basics of C++: Types of operators and expressions
• 7. Basics of C++: Input and output functions in C++.
• 8. Basics of C++: Decision Statement: IF-ELSE statement, break, continue, go-to, switch () case and nested
IF statement.
• 9. Basics of C++: Loop Control Statements: For loop, While loop, Do-while loop and nested loops.
• 10. Functions, Arrays, Pointers and Data structures.
• 11. Classes, inheritance and Polymorphism.
• Textbook(s):
• 1. Object Oriented Programming in C++ by Robert Lafore, Pearson, 4th Edition, (2013)
• 2. C++ How to Program, 7/e. By Paul and Harvey Deitel. 2010
• 3. Programming and Problem Solving with C++. By Nell Dale and Chip Weems. Jones & Bartlett Learning;
5 edition (February 27, 2009).
The homepage of Bjarne Stroustrup, the inventor of C++: http://www.research.att.com/~bs
A C++ online tutorial: http://www.cplusplus.com/doc/tutorial/
The C++ FAQ: http://www.parashift.com/c++-faq-lite
www.geeksforgeeks.org/basic-concepts-of-object-oriented-programming
www.tutorialspoint.com/cplusplus/cpp_object_oriented.htm
Online C++ Compiler: https://ide.codingblocks.com/ https://archive.org/details/EBalagurusamyObjectOrientedProgrammingWithC
Contents
• 1. Algorithmic Development: Techniques of Problem Solving
• 2. Algorithmic Development: Flowcharting, Decision Table
• 3. Algorithmic Development: Structured Programming Concepts
Algorithmic Development: Techniques of
Problem Solving
• Algorithm
• An algorithm is a set of instructions for solving a
problem or accomplishing a task. Every
computerized device uses algorithms to perform its
functions in the form of hardware- or software-
based routines.
• Example: Algorithms are all around us. Common examples
includes; the recipe for baking a cake, the method we use
to solve a long division problem, the process of doing
laundry, and the functionality of a search engine, etc.
• Types of Algorithms: Recursive Algorithm, Divide and
Conquer Algorithm, Dynamic Programming Algorithm,
Greedy Algorithm, Brute Force Algorithm, Backtracking
Algorithm, etc.
Algorithmic Development: Techniques of
Problem Solving (Contd)
• Steps for Designing & Analyzing an Algorithm
• Understand the Problem
• Read the Problem
• Ask Questions
• Find and Decide the Range of Inputs
• Make Decision
• Capacities of Computational Devices – Sequential & Parallel
• Select Problem Solving Methods – Exact & Approximations
• Data Structures
• Algorithmic Strategies
• Design an Algorithm
• Natural Language
• Pseudocode
• Flowchart
• Prove Correctness
• Verification
• Validation
• Analyze the Algorithm
• Time Complexity
• Space Complexity
• Simplicity
• Generality
• Code the Algorithm
• Suitable Programming Language
• Writing Optimized Code
Algorithmic Development: Techniques of
Problem Solving (Contd)
• Important Problem-Solving Types
• Sorting
• Stable & In-Place Property
• Searching
• Search Key
• Numerical Problems
• Mathematical & System of Equations
• Geometric Problems
• Computer Graphics & Robotics
• Combinatorial Problems
• Permutations & Combinations
• Graph Problems
• Traversal Algorithms, Topological Sorting
• String Processing Problems
• Pattern Matching Algorithm
Algorithmic Development: Flowcharting,
Decision Table (Contd)
• Decision Table
• Decision tables are a concise visual representation for specifying which actions to perform depending on given conditions.
• A decision table is a graphical way to map conditions against actions. It expresses the fact that certain actions are to be performed
only if certain conditions (or combination thereof) are satisfied.
• Example: In a Limited Entry Decision Table, find when the Order is ACCEPTED and REJECTED form the following Decision
Table.
• Rules: Any two rows which have identical entries, except for one condition row which contain a Y and N may be consolidated into one row which
contains a dash (-) in place of Y and N.
https://www.youtube.com/watch?v=zHokvz4fRGY
Algorithmic Development: Flowcharting,
Decision Table (Contd)
int main()
{
cout << "Hello world!" << endl;
return 0;
}