INFO16029
Problem Solving / Programming Logic
Sheridan College Logo
 
  I: Administrative Information   II: Course Details   III: Topical Outline(s)  Printable Version
 
Section I: Administrative Information
  Total hours: 42.0
Credit Value: 3.0
Credit Value Notes: N/A
Effective: Fall 2016
Prerequisites: N/A
Corequisites: N/A
Equivalents: N/A

Pre/Co/Equiv Notes: N/A

Program(s): Computer Engineering Technolog, Computer EngineeringTechnician, Computer Programmer, Computer Systems Technician, Computer Systems Technology Ne, Computer Systems Technology SA, Internet Communications Techno
Program Coordinator(s): Simon Hood, Paul Kemp, Jerry Kotuba, Ann Cadger, William Farkas, Satyendra Narayan
Course Leader or Contact: Ben Kam
Version:
20160906_00
Status: Approved (APPR)

Section I Notes: N/A

 
 
Section II: Course Details

Detailed Description
This introductory course is designed to help students to learn the logical aspects of computer programming. Four themes supplement the central thrust of the course: a) Boolean logic and conditional expressions, b) Control structures and algorithmic problem-solving, c) Problem-solving frameworks for computer programming, d) Basic object-oriented concepts and their relationship to procedure development.

Program Context

 
Computer Engineering Technolog Program Coordinator(s): Paul Kemp
As a first semester course, this course aims to develop and lay a foundation of logical thinking skills and techniques to complement the computer programming courses in all semesters of this program.

Computer EngineeringTechnician Program Coordinator(s): Paul Kemp
As a first semester course, this course aims to develop and lay a foundation of logical thinking skills and techniques to complement the computer programming courses in all semesters of this program.

Computer Programmer Program Coordinator(s): Ann Cadger
As a first semester course, this course aims to develop and lay a foundation of logical thinking skills and techniques to complement the computer programming courses in all semesters of this program.

Computer Systems Technician Program Coordinator(s): Satyendra Narayan
As a first semester course, this course aims to develop and lay a foundation of logical thinking skills and techniques to complement the computer programming courses in all semesters of this program.

Computer Systems Technology Ne Program Coordinator(s): Simon Hood
As a first semester course, this course aims to develop and lay a foundation of logical thinking skills and techniques to complement the computer programming courses in all semesters of this program.

Computer Systems Technology SA Program Coordinator(s): Jerry Kotuba
As a first semester course, this course aims to develop and lay a foundation of logical thinking skills and techniques to complement the computer programming courses in all semesters of this program.

Internet Communications Techno Program Coordinator(s): William Farkas
As a first semester course, this course aims to develop and lay a foundation of logical thinking skills and techniques to complement the computer programming courses in all semesters of this program.


Course Critical Performance and Learning Outcomes

  Critical Performance:
By the end of this course, students will have demonstrated the ability to develop, evaluate and solve problems related to computer programming.
 
Learning Outcomes:

To achieve the critical performance, students will have demonstrated the ability to:

  1. Develop and evaluate increasingly complex logical expressions.
  2. Use truth tables to illustrate the logical connectives: AND, OR, XOR, and NOT and evaluate logical expressions.
  3. Apply various boolean algebra laws, including de Morgan's Law, to simplify complex logical expressions.
  4. Express logical expressions using psuedocode.
  5. Design algorithms to solve unstructured English problems.
  6. Study various sorting algorithms, for functionality and efficiency.
  7. Develop algorithms using the three programming structures: Sequence, selection and iteration.
  8. Apply generalized problem-solving techniques relevant to computer programming
  9. Conceptualize and organize computer programs as a system of collaborating objects.

Evaluation Plan
Students demonstrate their learning in the following ways:

 Evaluation Plan: IN-CLASS
 Midterm Exam35.0%
 Final Exam35.0%
 Take-home exercises (4-6)20.0%
 In-class exercises (4-6)10.0%
Total100.0%

Evaluation Notes:
To pass the course, students must achieve a 50% weighted average across the tests and the exams and at least 50% overall in the course.

Provincial Context
The course meets the following Ministry of Advanced Education and Skills Development requirements:

 

Essential Employability Skills
Essential Employability Skills emphasized in the course:

  • Communication Skills - Communicate clearly, concisely and correctly in the written, spoken, visual form that fulfills the purpose and meets the needs of the audience.
  • Communication Skills - Respond to written, spoken, or visual messages in a manner that ensures effective communication.
  • Numeracy - Execute mathematical operations accurately.
  • Critical Thinking & Problem Solving - Apply a systematic approach to solve problems.
  • Critical Thinking & Problem Solving Skills - Use a variety of thinking skills to anticipate and solve problems.
  • Information Management Skills - Analyze, evaluate, and apply relevant information from a variety of sources.
  • Information Management - Locate, select, organize and document information using appropriate technology and information systems.

Prior Learning Assessment and Recognition
PLAR Contact (if course is PLAR-eligible) - Office of the Registrar

Students may apply to receive credit by demonstrating achievement of the course learning outcomes through previous relevant work/life experience, service, self-study and training on the job. This course is eligible for challenge through the following method(s):

  • Challenge Exam
    Notes:

 
 
Section III: Topical Outline
Some details of this outline may change as a result of circumstances such as weather cancellations, College and student activities, and class timetabling.
Instruction Mode: In-Class
Professor: Multiple Professors
Resource(s):
 TypeDescription
OptionalTextbookIntroduction to Java Programming (Looseleaf Version with REVEL RVP), Y. Daniel Liang, Pearson Education Canada, 10th Edition, ISBN 9780134635132

Applicable student group(s): Computer Programmer, Computer Systems Technology- Systems Analyst, Computer Systems Technician - Software Engineering, Computer Systems Technology - Software Development and Network Engineering, Computer Engineering Technician/Technology, Internet Communications Technology
Course Details:

Module 1: Problem Solving and Boolean logic
- An overview of problem solving
- Introduction to boolean logic
- In-class Exercise #1
- Learning outcome: 2

Module 2: Boolean Algebra
- Truth tables
- Boolean expression simplifications - using boolean algebra laws
- Use of sequence as a basic programming structure
- Take Home Exercise #1
- Learning outcomes: 1, 2, 3

Module 3: Selection
- Use of different selection structures - single sided, double sided, nested, and case.
- Use of decision tables to simplify a complex selection problem
- Design of Pseudocode for various selection algorithms
- Take Home Exercise #2, In-class Exercise #2
- Learning outcomes: 4, 5

Module 4: Iteration
- Use of different iteration structures - top checking, bottom checking
- Use of while loop, for loop and do while loops
- Design of Psuedocode for various iteration algorithms
- In-class Exercise #3
- Learning outcomes: 4, 5

Module 5: Installation of the 'Robot' Packages and Introduction to the Robot World
- Exploration of the Robot documentation and API
- Discussion of OOP terminologies and concepts
- Take Home Exercise #3
- Midterm Test (35%)
- Learning outcomes: 5, 8, 9

Module 6: Application of programming structures
- Use of sequence, selection and iteration in several 'Robot' problems
- Problem solving exercises
- Take Home Exercise #4
- Learning outcomes: 1, 4, 7, 8

Module 7: Object Oriented - Advanced Topics
- Introduction to Inheritance
- Use of Inheritance in the 'Robot' world.
- Take Home Exercise #5
- Learning outcomes: 8, 9

Module 8: Arrays
- Introduction to arrays - one dimensional, two dimensional, and parallel arrays
- Introduction of 3 sorting algorithms: Bubble, Selection, and Insertion sorts.
- Use of arrays in sorting algorithms
- In-class Exercise #4
- Final Exam (35%)
- Learning outcome: 6
 


Sheridan Policies

All Sheridan policies can be viewed on the Sheridan policy website.

Academic Integrity: The principle of academic integrity requires that all work submitted for evaluation and course credit be the original, unassisted work of the student. Cheating or plagiarism including borrowing, copying, purchasing or collaborating on work, except for group projects arranged and approved by the professor, or otherwise submitting work that is not the student's own, violates this principle and will not be tolerated. Students who have any questions regarding whether or not specific circumstances involve a breach of academic integrity are advised to review the Academic Integrity Policy and procedure and/or discuss them with the professor.

Copyright: A majority of the course lectures and materials provided in class and posted in SLATE are protected by copyright. Use of these materials must comply with the Acceptable Use Policy, Use of Copyright Protected Work Policy and Student Code of Conduct. Students may use, copy and share these materials for learning and/or research purposes provided that the use complies with fair dealing or an exception in the Copyright Act. Permission from the rights holder would be necessary otherwise. Please note that it is prohibited to reproduce and/or post a work that is not your own on third-party commercial websites including but not limited to Course Hero or OneNote. It is also prohibited to reproduce and/or post a work that is not your own or your own work with the intent to assist others in cheating on third-party commercial websites including but not limited to Course Hero or OneNote.

Intellectual Property: Sheridan's Intellectual Property Policy generally applies such that students own their own work. Please be advised that students working with external research and/or industry collaborators may be asked to sign agreements that waive or modify their IP rights. Please refer to Sheridan's IP Policy and Procedure.

Respectful Behaviour: Sheridan is committed to provide a learning environment that supports academic achievement by respecting the dignity, self-esteem and fair treatment of every person engaged in the learning process. Behaviour which is inconsistent with this principle will not be tolerated. Details of Sheridan's policy on Harassment and Discrimination, Academic Integrity and other academic policies are available on the Sheridan policy website.

Accessible Learning: Accessible Learning coordinates academic accommodations for students with disabilities. For more information or to register, please see the Accessible Learning website (Statement added September 2016)

Course Outline Changes: The information contained in this Course Outline including but not limited to faculty and program information and course description is subject to change without notice. Any changes to course curriculum and/or assessment shall adhere to approved Sheridan protocol. Nothing in this Course Outline should be viewed as a representation, offer and/or warranty. Students are responsible for reading the Important Notice and Disclaimer which applies to Programs and Courses.


[ Printable Version ]

Copyright © Sheridan College. All rights reserved.