Lifelong Learning for a Brighter World

female data analyst sitting in front of her computer in a modern office charting data female data analyst sitting in front of her computer in a modern office charting data

Foundations of Analytics

Business Intelligence, Data Analysis and Data Science

Your Introduction to the World of Analytics

DAT 100 - Foundations of Computer Programming C21 (accelerated)

Academic Credit Value:
3 units
Course Delivery Mode:
Online Accelerated
Hours of Study:
36 hours
Course Prerequisite(s):
Course Anti-requisite(s):
Instructor Name:
Norbert Mika
Course Dates:
05/04/2020 - 06/18/2020

Required Course Materials:
Online References
Optional Course Materials:
Online References
Course Description:

Students are advised to retain course outlines for future use in support of applications for employment or transfer of credits.
Refer to the Policy & Procedure section for further course and Centre for Continuing Education (CCE) information

This course introduces the students to the fundamentals of structured programming and problem-solving. A current programming language (like Python) will be used to introduce problem analysis, algorithm design, object-oriented programming concepts and program implementation. Topics include variables, conditional processing, loops, functions, data structures, error handling and file input/output. Programming experience is not required; however, proficiency with computer operating systems is required.

Learning Outcomes:

Upon completion of this course, students will: 

  • Develop the programming requirements of a simple, written business problem and design an appropriate computer algorithm to solve the problem.
  • Demonstrate the manipulation of variables in a computer program.
  • Demonstrate the control of program flow using conditional tests and loops.
  • Describe and demonstrate the concept of modular programming using functions.
  • Discuss the principles of object-oriented programming.
  • Demonstrate the use of objects in a computer program.
  • Implement Exceptions to demonstrate an effective way to handle errors during program execution.
  • Use built-in functions to demonstrate the storage and retrieval of data using files.
  • Troubleshoot and Debug computer programs.

Course Evaluation

The final grade is calculated based on the following components:

4 assignments (@ 10%) = 40%
2 assignments (@15%) = 30%
2 tests (@15%) = 30%

Course Format:
This course is designed to present the fundamental concepts and theories in computer programming and promote the application to the workplace and professional practice. Course activities will include instructor presentations, required readings and experiential learning activities (i.e. case studies, group discussions, projects, etc.).
Assignment Submission:
Course assignments are submitted to the appropriate A2L Assignment folder by the specified due date
Late Coursework:
Late assignments will be subject to a 2% per day late penalty (includes weekends and holidays) for up to seven (7) days. After this date, no assignments will be accepted and a grade of zero (0) will be applied.  Extensions for course work must be approved by the instructor before the due date (see Academic Regulations below), and will be granted for illness or emergencies only. Students may be asked to submit supporting documentation for an extension request.  

Policy & Procedures:

Academic Regulations (Attendance, Coursework, Tests/Exams):
In accordance to McMaster University’s General Academic Regulations, “it is imperative that students make every effort to meet the originally scheduled course requirements and it is a student’s responsibility to write examinations as scheduled.” Therefore, all students are expected to attend and complete the specific course requirements (i.e. attendance, assignments, and tests/exams) listed in the course outline on or by the date specified. Students who need to arrange for coursework accommodation, as a result of medical, personal or family reasons, must contact the course instructor within 48 hours of the originally scheduled due date. It is the student’s responsibility to contact the Program Manager to discuss accommodations and procedures related to deferred tests and/or examinations within 48 hours of the originally scheduled test/exam, as per policy. Failure to contact the course instructor, in the case of missed coursework, or the Program Manager, in the case of a missed test/examination, within the specified 48-hour window will result in a grade of zero (0) on the coursework/exam and no further consideration will be granted.

*Note: Supporting documentation will be required but will not ensure approval of accommodation(s).
Academic Integrity
You are expected to exhibit honesty and use ethical behaviour in all aspects of the learning process. Academic credentials you earn are rooted in principles of honesty and academic integrity. Academic dishonesty is to knowingly act or fail to act in a way that results or could result in unearned academic credit or advantage. This behaviour can result in serious consequences, e.g. the grade of zero on an assignment, loss of credit with a notation on the transcript (notation reads: “Grade of F assigned for academic dishonesty”), and/or suspension or expulsion from the university.

It is your responsibility to understand what constitutes academic dishonesty. For information on the various types of academic dishonesty please refer to the Academic Integrity Policy, located at

The following illustrates only three forms of academic dishonesty:
Plagiarism, e.g. the submission of work that is not one’s own or for which other credit has been obtained.
Improper collaboration in-group work.
Copying or using unauthorized aids in tests and examinations.
Academic Accommodations:
Students with disabilities who require academic accommodations must contact the Student Accessibility Centre (SAS) to meet with an appropriate Disability Services Coordinator. To contact SAS, phone 905-525-9140 ext. 28652, or email For further information, consult McMaster University’s Policy for Academic Accommodation for Students with Disabilities.
On-line Elements:
In this course, we will be using online elements, which may include email, Avenue to Learn, WebEx, and external websites.  Students should be aware that, when they access the electronic components of this course, private information such as first and last names, usernames for the McMaster e-mail accounts, and program affiliation may become apparent to all other students in the same course. The available information is dependent on the technology used. Continuation in this course will be deemed consent to this disclosure. If you have any questions or concerns about such disclosure please discuss this with the course instructor.
In this course, we may use a web-based service ( to reveal plagiarism where appropriate. Students will be expected to submit their work electronically to and in hard copy so that it can be checked for academic dishonesty. Students who do not wish to submit their work to must still submit a copy to the instructor. No penalty will be assigned to a student who does not submit work to All submitted work is subject to normal verification that standards of academic integrity have been upheld (e.g., online search, etc.). To see the Policy, please go to McMaster AcademicIntegrity Policy.
Course Changes:

The instructor reserves the right to modify elements of the course and will notify students accordingly.

Course Withdrawal Policy:
Policies related to dropping a course and course withdrawals are posted to the Centre for Continuing Education’s program webpage, FAQs & Policies (
Storm Closure Policy:
In the event of inclement weather, the Centre for Continuing Education will abide by the University’s Storm Closure Policy:, and will only close if the University is closed. All in-class courses, exams and room bookings by internal and external clients will be cancelled if the Centre for Continuing Education is closed. On-line courses will take place as scheduled.
Grading Scale:


Equivalent Grade Point

Equivalent Percentages








































Course Schedule:




Assignments/Graded Components


Module One - Introduction to Computer Programming



Module Two - Problem Solving and Flow Charts

Assignment – 10%


Module Three - Variables



Module Four - Flow Control

Assignment – 10%


Module Five - Data Structures: Strings, Tuples and Lists



Module Six - Data Structures: Mappings and Dictionaries

Assignment – 15%


Mid-Term Test

Test - 15%


Module Seven - Data Structures: Sets and Iterators



Module Eight - File Handling

Assignment – 10%


Module Nine – Libraries



Module Ten - Modular Programming

Assignment- 10%


Module Eleven - Introduction to Object Oriented Programming



Module Twelve - Error Handling using Exceptions

Assignment – 15%


Final Test

Test – 15%