0% found this document useful (0 votes)
4 views8 pages

ICT201-Introduction to Programming With Python Course Outline

Uploaded by

botlhepearl18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views8 pages

ICT201-Introduction to Programming With Python Course Outline

Uploaded by

botlhepearl18
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

SCHOOL OF COMPUTING AND INFORMATION SYSTEMS

ICT201-Introduction to Programming with


Python Course Outline

Year 2

Semester 1
1 Course Facilitators

COURSE FACILITTATORS

1. MR. REBAONE MLALAZI CAMPUS FRANCISTOWN

EMAIL: [email protected]

2. MR. SIMON CHIRAMBIRA CAMPUS GABORONE

EMAIL: [email protected]

3. MR. TSHEPO GOBONAMANG CAMPUS GABORONE

EMAIL: [email protected]

2 Welcome Remarks

Welcome to the Introduction to Programming with Python course! This course is designed to
help you master Python and develop essential techniques for creating intelligent business
systems. As a crucial step towards understanding business intelligence, this course will
provide you with the skills to effectively program and solve real-world problems using
Python.

At our institution, we are committed to excellence, and our goal is to equip you with the
problem-solving abilities needed to become outstanding graduates. Throughout this course,
you will engage in hands-on learning experiences and work on case studies for each topic.
Additionally, you will participate in a Python programming project that will be assessed
based on how well you apply the concepts to solve the given problem.

3 Mode of delivery:

The Introduction to Programming with Python course will be delivered through a


combination of different methods to ensure a comprehensive and engaging learning
experience. Here’s how the course will be structured:
Lectures: Lectures will be delivered both in-person and online through our learning
management system (Moodle).
 Materials: Lecture notes and recordings will be made available on Moodle for
review.
 Lab Sessions: Lab sessions will provide you with practical experience in coding and
implementing the concepts learned during lectures.
 Supervision: Instructors and teaching assistants will be present to guide you and
answer any.
 Forum Discussions on Moodle: Active participation in forum discussions on Moodle
is expected. This is a space for you to engage with your peers, ask questions, and
discuss course material.
 Moderation: Module Leaders and teaching assistants will monitor and participate in
the forums to ensure discussions are productive and on-topic.

4 Course Assessment Breakdown

a) Coursework (40%)

Assessment Test: This component will evaluate your understanding of the key
concepts covered in the course up to the point of the test. It will typically include
questions that test both theoretical knowledge and practical application.

Assignment: You will be required to complete an assignment that will assess your
ability to apply what you have learned in practical scenarios. This may involve
problem-solving, coding tasks, or project work, depending on the course content.

b) Final Exam (60%)

 The final exam will be comprehensive and cover all topics discussed throughout the
course. It will assess your overall grasp of the material and your ability to integrate
and apply the concepts learned.

5 Course Information

Recommended Book: Fundamentals of Python: First Programs Author: Kenneth


Lambert Publisher: Course Technology, Cengage Learning, 2012
Software: PyCharm, Python (Latest Version)
6 Course Objectives

This course introduces core programming basics using Python, focusing on essential
concepts and techniques required for software development. The course is designed to
provide students with a solid foundation in programming, enabling them to solve problems,
develop algorithms, and create practical applications.

Specific Learning Objectives:


Knowledge
 BI202-KLO1: Analyze and articulate Python language syntax, including variable
declarations, control structures, and error handling mechanisms.
 BI202-KLO2: Apply algorithmic thinking to decompose and solve complex
programming problems using step-by-step logical processes.
 BI202-KLO3: Describe and differentiate between various data types, variables, and
operators in Python, including their roles and usage in program development.
 BI202-KLO4: Examine and discuss the principles of functional programming,
including concepts such as immutability, higher-order functions, and pure functions.
 BI202-KLO5: Explain and apply object-oriented programming (OOP) principles,
including encapsulation, inheritance, polymorphism, and class design in Python.
 BI202-KLO6: Explain modern computer systems, including hardware architecture
and components, and their impact on software development.
 BI202-KLO7: Discuss the importance of algorithms and data representation in
computing, including binary and hexadecimal systems.
 BI202-KLO8: Identify and explain the fundamentals of software and operating
systems, and their roles in programming.
Skills
 BI202-SLO1: Design, develop, and debug Python applications, ensuring functional
correctness and adherence to best practices in software development.
 BI202-SLO2: Implement and optimize decision-making and flow control structures,
such as conditional statements and loops, to manage program execution.
 BI202-SLO3: Write and maintain robust and reliable Python code by incorporating
error handling, code documentation, and adherence to coding standards.
 BI202-SLO4: Apply functional programming techniques, such as map, filter, and
reduce, to solve programming problems efficiently and concisely.
 BI202-SLO5: Utilize object-oriented programming concepts to design and implement
reusable and modular code, demonstrating the use of classes, objects, and methods.
 BI202-SLO6: Implement data persistence mechanisms in Python, including file
handling and database interactions, to store and retrieve data effectively.
 BI202-SLO7: Integrate and utilize third-party libraries and tools within Python
projects to extend functionality and enhance application features.
 BI202-SLO8: Apply principles of algorithmic design and data representation to
enhance program performance and solve complex problems.
 BI202-SLO9: Create and manipulate graphical content using Python’s graphical
libraries, including basic image processing tasks.
 BI202-SLO10: Design and develop graphical user interfaces (GUIs) using Tkinter,
including creating and customizing widgets, layouts, and event-driven interactions.

7 Benefits of the Course

Students in this course will get the skills and the required background that enable them to
build Intelligence systems in different application areas.

8 Course Outline

1. Introduction to Programming and Computer Science

 Conceptual Introduction

o Overview of computer science and its applications

o Introduction to algorithms and their importance

o Modern computer systems: Hardware architecture and components

o Data representation in computers (binary, hexadecimal, etc.)

o Software fundamentals and operating systems

o Setting up Python: Installation, basic syntax, interactive shell, and script


execution

2. Data Types and Operations


 Understanding Data Types

o Variables and assignments; mutable vs. immutable variables

o Numerical types and arithmetic operators

o Comments and documentation in code

o Interpreting and debugging error messages

3. Control Flow and Logic

 Conditionals and Boolean Logic

o Boolean logic and logical operators

o Range checking and control statements: if-else, for loops, while loops

o Short-circuit (lazy) evaluation

4. File Handling and String Manipulation

 Working with Files and Strings

o File and directory manipulation: os and sys modules

o Reading and writing text and numbers to/from files

o Creating and parsing formatted files (CSV, tab-separated)

o String operations: indexing, slicing, converting between strings and numbers

o Understanding binary, octal, and hexadecimal representations

5. Data Structures

 Lists, Tuples, and Dictionaries

o Basic operations on lists: addition, deletion, modification, and sorting

o Understanding tuples and their immutability

o Working with dictionaries: literals, keys, values, and traversing

6. Functions and Modular Design


 Designing with Functions

o Functions: definition, arguments, and return values

o Understanding formal vs. actual arguments, named arguments

o Program structure and modular design principles

o Recursive functions and their applications

7. Graphics and Image Processing

 Introduction to Graphics with Python

o Drawing with the 'turtle' module: shapes, colors, and basic graphics

o Basics of image processing: image file formats and simple manipulations


(conversion to black and white, grayscale, blur) using the 'image' module

8. Object-Oriented Programming (OOP)

 Classes and Object-Oriented Design

o Concepts: classes, objects, attributes, and methods

o Defining and designing classes

o Data modeling and persistent storage of objects

o Advanced OOP topics: inheritance, polymorphism, operator overloading,


abstract classes

o Exception handling: using try-except blocks

9. Graphical User Interfaces (GUIs)

 Creating GUIs with Tkinter

o Introduction to event-driven programming

o Basics of the Tkinter module: creating windows, buttons, labels, and entry
fields

o Customizing widget attributes: sizes, fonts, colors, and layouts


o Using nested frames and dialogs for enhanced user interaction

You might also like