[go: up one dir, main page]

0% found this document useful (0 votes)
78 views4 pages

HCSCI 132 Course Outline 2022

This document outlines the course outline for Principles of Programming Languages (HCSCI 132) at Midlands State University. The course aims to introduce basic programming principles like paradigms, constructs, data structures and algorithms using Python. It will cover topics like modular programming with functions, object-oriented programming with classes/objects, and GUI programming with Tkinter. The course runs for 12 weeks and covers topics like control structures, functions, modules, classes, files I/O, exceptions, and databases. Students will complete assignments, tests, a group project and final exam for assessment.

Uploaded by

Munashe Muhwati
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)
78 views4 pages

HCSCI 132 Course Outline 2022

This document outlines the course outline for Principles of Programming Languages (HCSCI 132) at Midlands State University. The course aims to introduce basic programming principles like paradigms, constructs, data structures and algorithms using Python. It will cover topics like modular programming with functions, object-oriented programming with classes/objects, and GUI programming with Tkinter. The course runs for 12 weeks and covers topics like control structures, functions, modules, classes, files I/O, exceptions, and databases. Students will complete assignments, tests, a group project and final exam for assessment.

Uploaded by

Munashe Muhwati
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/ 4

MIDLANDS STATE UNIVERSITY

FACULTY OF SCIENCE AND TECHNOLOGY


DEPARTMENT OF COMPUTER SCIENCE

PRINCIPLES OF PROGRAMMING LANGUAGES (HCSCI 132)


COURSE OUTLINE
PERIOD: 2022
Lecturer: Mr. T. T. Gotora
Email ID: gotorat@staff.msu.ac.zw
Contact No: 0718002497

PREAMBLE

The course aims to introduce the basic principles of programming, programming paradigms,
program constructs, data structures and implementation of algorithms using Python
programming language. Modular programming through use of functions and modules will
also be covered to enhance students understanding of code reusability. Moreover data
persistence will be demonstrated in files and databases. The course will equip students with
knowledge on basics of Object Oriented Programming (OOP) using classes and objects.
Lastly, students will get to explore fundamentals of object-based programming using the
Tkinter library in Python.

OBJECTIVES

Upon completion of the course students should be able to:

● Understand and apply principles of programming in solving real life problems.


● Determine the appropriate data types to use in a program.
● Apply control structures and functions in a program.
● Deduce the correct data structures to use in a program.
● Apply modularity in a program using modules and functions.
● Create simple class and object implementations.

1
● Apply data persistence using file IO while handling exceptions.
● Create simple console and GUI-based database application.
● To test and debug applications developed in Python.
● Create simple user interfaces (UI) in Python using Tkinter library.
COURSE CONTENT

Week Content Students to Cover


Class Practical
1-2 UNIT I – Introduction to Programming
assignments 1,2,3
● Programming Fundamentals
given in the
o What is Programming?
beginning of
o Programming Paradigms
semester
o Differences of Programming Languages
o Dynamic Typing vs Static Typing
o Types of Translators
● Introduction to Python
o A Brief History of Python.
o Python Features
o Applications of Python.
o Setting up Environment.
o Writing and Executing A Python Program
o Program Structure and Rules
● Python Fundamentals
o Identifiers and Reserved Words
o Standard data types
o Data Type Conversion
o Declaration and Assignment Of Variables
o Comments and Escape Characters
o Operators and expressions
o Basic Input and Output
UNIT II – Control Statements and Data Structures Submission Practical
3-4
● Selection Statements Assignment 1
● Looping Statements
● Nested Statements
● Use of Continue and Break Statements
● lists and their operations
● tuples and their operations
● dictionaries and their operations
● sets and their operations
Test 1
4-6 UNIT III– Functions and Modules
● Functions
o Definition and Calling

2
o Built-in and user-defined functions
o Passing by Ref and Value
o Arguments
o Lambda Functions
o Namespaces and Scoping
● Modules
o Definition
o Import Statement
o Using built-in modules e.g. math, string, sys and
time
o Using user-defined modules
o Locating modules
7-8 UNIT IV – Classes
● Classes
● Class Definition
● Constructor & Instance Object Creation
● Class and Instance Methods
● Accessing Attributes
● Built-In Class Attributes
● Inheritance & Polymorphism
9-10 UNIT V – File IO and Exception Handling
Submission Practical
● File IO
Assignment 2
o Opening and Closing a File
o Write and Read Functions
Test 2
o with Statements
● Exception Handling
o Standard Exceptions
o Assertions
o Try....except...else blocks
o Except Clause with No Exceptions
o Except Clause with Multiple Exceptions
o The try-finally Clause
Submission Practical
10-11 UNIT VI –Databases and GUI
Assignment 3
● Databases
o SQL queries
Submit Mini Group
o SQLite
Project
o Creating an SQLite database connection
o Mini console application working with
Quiz Assignment
databases
● GUI
o Working with Tkinter library

3
o Creating objects using Tkinter library
o Mini GUI application working with databases

Methodologies:
Lectures, Lab sessions, Group Work, Presentations, Research, Discussions and Tutorials

Tools to be used:
Python 3.8+ Interpreter
Python Text Editor (e.g. Notepad++) and IDE (Python 3.8+ or Anaconda 3.5+)
Google Colab

Course Assessment:
Final examination: 60%
Practical work 25%
● 3 Lab Assignments (5%, 7.5% and 7.5%)
● Group Mini Project (5%)
Course work: 15%
● 2 Tests (5% and 5%)
● 1 Quiz Assignment (5%)

Course Material:

i. Tim Hall and J-P Stacey, (2009). Python 3 for Absolute Beginners. Apress.
ii. Zed A. Shaw, (2014). Learn Python the Hard Way: A Very Simple Introduction to
the Terrifyingly Beautiful World of Computers and Code. Addison-Wesley, USA.
iii. Bob Dowling. An introduction to Python for absolute beginners. University
Information Services, University of Cambridge. [Available on:
http://www.ucs.cam.ac.uk/docs/course-notes/unix-courses/PythonAB accessed 07
February 2018]
iv. Code Jackson, (2011) Learning to Program Using Python. Creative Commons,
California: USA.
v. Magnus Lie Hetland, (2005). [E-book] Beginning Python From Novice to
Professional. Apress
vi. Tutorialspoint.com. [Online: https://www.tutorialspoint.com/python3 Accessed 01
February 2020].
vii. Pythonprogramming.com. [Online: https://pythonprogramming.net/beginner-
python-programming-tutorials/ Accessed 01 February 2020].
viii. W3Schools.com. https://www.w3schools.com/python/ Accessed 01 February
2020].

You might also like