Week 1 Algorithm and Problem Solving - Tagged
Week 1 Algorithm and Problem Solving - Tagged
Programming
Course Objectives
1.Understand Fundamental Concepts relevant to Algorithm and Programming
◦ Grasp the core principles of algorithms and programming and basic data structures.
◦ Understand fundamental programming concepts and paradigms
The objective is to lay the groundwork for students in both the theoretical and practical aspects of algorithms and
programming, equipping them to for more advanced studies in programming, and ultimately tackle complex
computational problems in the real world.
Course Overview
1. Knowledge of Concepts
• Detailed explanations of core topics.
• High level theoretical frameworks and models.
• Historical context and evolution of ideas.
• Format:
◦Lectures (in-person or online).
◦Quizzes and Exams
2. Problem-Solving and Algorithm
• Step-by-step breakdown of algorithms design
• Tools - Pseudocode and Flowchart
• Demonstrate practical applications of concepts through problem-solving - Examples illustrating
concepts in action.
• Format:
◦In-class activities and Group discussions.
3. Hands-on: Programming
• Apply learned concepts through programming exercises.
• Introduction to Elementary algorithms
• Coding challenges that mirror lecture content and require implementation of algorithms
• Format:
◦Labs and Assignments.
◦Collaborative discussion board
◦Exams or Group projects
Critical Path and Administration
Critical Path - course structure, expectations, and administrative details.
Characteristics:
•Precise and Formal: Each step must be unambiguous, with a clearly defined input and
output.
•Structured: Algorithms must follow strict rules and be optimized for efficiency and
accuracy.
•Executable by Machines: These algorithms must be translatable into a programming
language for execution by computers.
Program:
• A concrete and executable implementation of an algorithm
using a particular programming language.
• It consists of code written in a programming language
• It can be executed by a computer to perform a specific task or
solve a problem
Programming
• Definition:
The process of writing instructions (code) for a computer to execute.
1. Requirement
2. Design
3. Implementation
4. Testing
5. Deployment
Implementation (Programming)
1. Problem Analysis
• Problem Solving: What to do, What I know, What I need
2. Logic Generation
• Algorithm: Steps to solve the problem (how)
3. Coding:
• Programming: translating the logic plan to executable code
• Debugging and Unit Testing
Computational Problem
Algorithm
Algorithms serve as a foundation for program development
and help programmers plan and design their code
effectively.
• Language Independent
• Well defined problem scope
• Well defined inputs
• Well defined steps/procedure
• Well defined outputs
• Finiteness
Algorithm Design