(501110-2) Introduction to Problem Solving

Homepage and Syllabus

Disclaimer

This is the best information available as of today, Saturday August 26, 2023 at 6:45 p.m. KSA time. Changes will appear in this web page as the course progresses.

Meeting time and place

  • Section 2461: Tuesday 6:00 p.m. - 8:00 p.m.

Instructor: Dr. Emad Alsuwat

Course Homepage: https://emadalsuwat.github.io/introproblemsolving-Fall2023.html
Office: W101 CIT
Office hours: Monday 5:00 p.m. - 8:00 p.m.
Phone: NA
Email: Alsuwat@tu.edu.sa

Course Overview

The course presents fundamental concepts of problem solving techniques in computer science and other computational sciences. Topics include: Problem-solving approaches and process, Arithmetic Expression, Debugging, Decision structures, Repetition Structures.

Learning Outcomes

By the end of the course, students will be able to:
  • introduce concepts, techniques, and problem solving skills in the field of computing.
  • apply problem solving skills to solve common real-life problems.
  • select appropriate solutions to problems.
  • write pseudo code and use other problem solving tools to illustrate solutions.

Textbook

  • Required: Maureen Sprankle, and Jim Hubbard Problem Solving & Programming Concepts, 9th edition, Pearson

Examinations

  • Midterm Exam: TBD
  • Final Exam: TBD

Grading

  • Midterm Exam: 25%
  • Homework Assignments: 20%
  • Participation and Quizzes: 5%
  • Final Exam: 50%

Topics to be covered

Below are roughly the sections of the PSPC book that I will cover. I may de-emphasize some topics and add others, but this is basically the list.

Topic Text Reference
Introduction to Computers and Programming
Intro to Algorithms
Problem-solving process - I (Input and output, programming process)
Problem-solving process - II (System development, pseudo-code)
Problem-solving process - III (Flowchart)
Arithmetic Expression - I (Variables and basic types, mathematical expressions, Order of Operations, Associativity of Operators, Grouping with Parentheses)
Arithmetic Expression - II (Algebraic Expressions, Postfix expression, Prefix expression, Multiple Assignment and Combined Assignment)
Tracing a Program (Focus on debugging: Hand tracing a Program, Focus problem solving: A case study)
Decision Structures - I (Relational Operators, Relational Expressions, Logical Operators)
Decision Structures - II (Flowchart for Evaluating a Decision- (Single, double, multi-way, nested), Solving problems using decisions structures)
Repetition Structures - I (The Increment and Decrement Operators, Repetition Flowchart (Pre-test loop (e.g., while loop), Post-test loop (e.g., do-while loop))
Repetition Structures - II (Repetition Flowchart( Counting loop (e.g., for loop), Nested loop structures))
Repetition Structures - III (Deciding which repetition structure to use, Solving problems using repetition structures)

Lecture Notes and Homework Assignments

Note that changes to the table below will appear week by week as the course progresses

Week Topic Slides Assignment Due Date
Week 1 Syllabus Week - - -
Week 2 Introduction to Computers and Programming Chapter 1 - -
Week 3 Problem-solving Process Chapter 2 - -
Week 4 More Exercises on
Problem-solving Process
- Homework 1 Sept 30, 2023
Week 5 Variables and Arithmetic Expression Chapter 3 - -
Week 6 More Exercises on
Variables and Arithmetic Expression
- Homework 2 Oct 7, 2023
Week 7 Hand tracing Chapter 4 - -
Week 8 More Exercises on
Hand tracing
- Homework 3 Done in class
Week 9 Decision Structures Chapter 5 - -
Week 10 More Exercises on
Decision Structures
- Homework 4 Dec 4, 2023
Week 11 Midterm Exam
The Exam will cover
textbook chapters 1, 2, 3, 4, and 5
Date: October 31, 2023
- - -
Week 12 Using flowgorithm software to solve exercises - - -
Week 13 Repetition Structures - I Chapter 6 - -
Week 14 Mid-Semester Break - - -
Week 15 More Exercises on
Repetition Structures
- Homework 5 Dec 4, 2023
Week 16 More Exercises on Problem Solving - - -
Week 17 Revision - - -
Week 18 & 19 Final Exams - - -