COURSE INFORMATION
Course Title: PRINCIPLES OF PROGRAMMING
Code Course Type Regular Semester Theory Practice Lab Credits ECTS
BUS 106 A 2 3 0 0 3 5
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) NA
Main Course Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: Dr. Aida Bitri abitri@epoka.edu.al , abitri@epoka.edu.al, Monday, 8:30-10:30, E-203
Second Course Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: NA
Teaching Assistant(s) and Office Hours: NA
Language: English
Compulsory/Elective: Compulsory
Study program: (the study for which this course is offered) Bachelor in Business Administration (3 years)
Classroom and Meeting Time:
Code of Ethics: Code of Ethics of EPOKA University
Regulation of EPOKA University "On Student Discipline"
Attendance Requirement: Mandatory
Course Description: BUS 106 – Introduction to Programming aims at preparing students with the basic concepts of programming and teaching them basic programing skills using Python. Python is a full spectrum language, very popular languages and in the same time very user friendly. This course will introduce students to numbers, math, functions and loops, conditional logic and control flows, object oriented programming, file input and output, working with databases, interacting with the web, scientific computing and graphing and graphical user interfaces. These will equip students with necessary skills so that they can adopt more advanced features as they need them when their application demands grow.
Course Objectives: The objective of this course is to introduce students with the fundamental programming skills as a starting point for analyzing large amounts of financial data using Python, create visualizations, and start using statistics for predictive modeling in the future. - To understand basics of algorithmic thinking - To understand basic programming concepts - To be able to design and implement basic algorithms - To learn Python syntax and structure - To be able to transform problem solving structures in Python. - To be able to analyze real life problems and develop programming solutions
BASIC CONCEPTS OF THE COURSE
1 Programming language
2 Code and program
3 Algorithms
4 Flowchart
5 Decision Structures and Boolean Logic
6 Repetition Structures
7 Functions
8 Numpy library
9 Pandas library
10 Matplotlib library
COURSE OUTLINE
Week Topics
1 Basic Concepts of programming (Programs, algorithms, software) Understanding programming logic: Seven steps of Problem-Solving Process and Information processing Data and File Formats, Number Systems, Boolean Algebra
2 Introduction to flowcharts and task analysis. Flowchart symbols. Decision Structures and Repetitive Structures. Solving Business related problems. Exercises.
3 Flowchart’s part 2, working with arrays and matrices. Solving Business related problems. Exercises
4 Introduction to Python Environment, Syntax, Basic Elements (Input Processing Output), Installing Python, Pycharm. Working with Pycharm and explaining main elements in Pycharm. Declare variables, parameters, collect data from the user.
5 Decision Structures and Boolean Logic (If, if-else). Solving Business related problems. Exercises
6 Repetition Structures (While and For Loops).Solving Business related problems. Exercises
7 Functions in Python. Defining and calling functions. Importing Elements.
8 Working with files, upload, read files, delete from files, manipulate files.
9 Mid-Term
10 Lists and Tuples. The students will be able to get information regarding the sequences, list slicing, how to find items in lists with 1 n operator, the various list methods, and the most useful built-in functions. The students will also know which are the most important type of lists, tuples, the conversion between lists and tuples, and how to plot list data with the matplolib package.
11 Data Manipulation: Pandas library. Pandas is a Python toolkit for data manipulation and analysis that is open-source. It has a lot of functions and ways to help the students speed up your data analysis. Pandas is based on the NumPy package, therefore it pulls a lot of its basic ideas from it. Series is a one-dimensional data structure, whereas DataFrame is a two-dimensional data structure.
12 Data Manipulation2: Pandas library. Pandas is a Python toolkit for data manipulation and analysis that is open-source. It has a lot of functions and ways to help the students speed up your data analysis. Pandas is based on the NumPy package, therefore it pulls a lot of its basic ideas from it. Series is a one-dimensional data structure, whereas DataFrame is a two-dimensional data structure.
13 Data Manipulation: NumPy library.Python libraries such as Numpy and Pandas enable analysts to handle data with ease by providing a collection of tools that can be used to execute a variety of tasks on data, such as data organization, arithmetic operations, and visualization, among other things. Both Numpy and Pandas provide tools for working with multidimensional data structures such as arrays, as well as generic data.
14 Data Visualization: Matplotlib library.matplotlib is a Python package used for data plotting and visualisation. It is a useful complement to Pandas, and like Pandas, is a very feature-rich library which can produce a large variety of plots, charts, maps, and other visualisations.
Prerequisite(s): -
Textbook(s): Tony Gaddis, Haywood Community College - Starting Out with Python, Global Edition, 5th Edition-Pearson (2021) David Amos, Dan Bader, Joanna Jablonski, Fletcher Heisler - Python Basics_ A Practical Introduction to Python 3-Real Python (2021)
Additional Literature: -Engr. Michael David - A Practical Introduction to Python Programming _ Hand-On Machine Learning With Python (2021) -Jim R. Parker - Python_ An Introduction to Programming-Mercury Learning and Information (2021) -John V. Guttag - Introduction to Computation and Programming Using Python-The MIT Press (2021) -Levitin, Anany - Introduction to the design and analysis of algorithms-Pearson (2019) -Publishing, AI - Python Pandas for Beginners_ Pandas Specialization for Data Scientist (Python for Beginners in Data Science and Data Analysis Book 2)-AI Publishing LLC (2021) -Cajic, Dino - An Illustrative Introduction to Algorithms (2019)
Laboratory Work: Yes
Computer Usage: Yes
Others: No
COURSE LEARNING OUTCOMES
1 To understand the fundamental principles of programming
2 To learn how to present problems and solve them by using algorithms
3 To define the structure and components of a Python program
4 To learn how to use lists, tuples, and dictionaries in Python programs
5 To learn how to write loops and decision statements in Python
6 To learn how to write functions and pass arguments in Python
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution)
No Program Competencies Cont.
Bachelor in Business Administration (3 years) Program
1 Identify activities, tasks, and skills in management, marketing, accounting, finance, and economics. 3
2 Apply key theories to practical problems within the global business context. 4
3 Demonstrate ethical, social, and legal responsibilities in organizations. 5
4 Develop an open minded-attitude through continuous learning and team-work. 5
5 Use technology to enable business growth and sustainability. 5
6 Analyze data to make effective decisions. 5
COURSE EVALUATION METHOD
Method Quantity Percentage
Midterm Exam(s)
1
30
Final Exam
1
40
Other
1
30
Total Percent: 100%
ECTS (ALLOCATED BASED ON STUDENT WORKLOAD)
Activities Quantity Duration(Hours) Total Workload(Hours)
Course Duration (Including the exam week: 16x Total course hours) 16 3 48
Hours for off-the-classroom study (Pre-study, practice) 16 2 32
Mid-terms 1 10 10
Assignments 0
Final examination 1 15 15
Other 1 20 20
Total Work Load:
125
Total Work Load/25(h):
5
ECTS Credit of the Course:
5
CONCLUDING REMARKS BY THE COURSE LECTURER

At the end of this course, students will be able to understand how algorithms and algorithmic thinking work, and they will be able to use Python programming language to solve a business related problems.