EPOKA UNIVERSITY
FACULTY OF ECONOMICS AND ADMINISTRATIVE SCIENCES
DEPARTMENT OF BUSINESS ADMINISTRATION
COURSE SYLLABUS
2024-2025 ACADEMIC YEAR
COURSE INFORMATIONCourse Title: INTRODUCTION TO ALGORITHMS AND PROGRAMMING II |
Code | Course Type | Regular Semester | Theory | Practice | Lab | Credits | ECTS |
---|---|---|---|---|---|---|---|
CEN 114 | B | 2 | 2 | 0 | 2 | 3 | 5 |
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) | Dr. Aida Dhima abitri@epoka.edu.al |
Main Course Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | Dr. Aida Dhima abitri@epoka.edu.al , Tuesday, 12:30-14:30 |
Second Course Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: | M.Sc. Ardita Dorti adorti@epoka.edu.al |
Language: | English |
Compulsory/Elective: | Compulsory |
Study program: (the study for which this course is offered) | Bachelor in Business Informatics (3 years) |
Classroom and Meeting Time: | E214, Tuesday 8:30-12:30 |
Teaching Assistant(s) and Office Hours: | NA |
Code of Ethics: |
Code of Ethics of EPOKA University Regulation of EPOKA University "On Student Discipline" |
Attendance Requirement: | 75% Mandatory |
Course Description: | The aim of this course is to introduce students to advanced concepts of Python Programming language. The students will learn how to retrieve and store data from files, design graphical user interfaces through Matplotlib, and analyze data using Numpy and Pandas. |
Course Objectives: | The objective of this course is to teach students advanced concepts of algorithms and programming in Python. - Students should be able to apply sorting and searching algorithms in Python in different data structures. - Students should be able to input/output data from different sources in Python. - By the end of this course students should know how to use Matplotlib library and data visualization. - By the end of this course students should know how to use Numpy and Pandas libraries for data analysis. |
BASIC CONCEPTS OF THE COURSE
|
1 | Numpy |
2 | 2D arrays |
3 | Sorting Algorithms |
4 | Searching Algorithms |
5 | GUI |
6 | Matplotlib |
7 | Data analysis |
8 | Pandas |
9 | Lists, tuples |
10 | Strings, and Dictionaries |
COURSE OUTLINE
|
Week | Topics |
1 | Introduction to course outline. Students are introduced to the main concepts that this courses focuses. |
2 | Files and exceptions. This chapter introduces sequential file input and output. The student learns to read and write large sets of data and store data as fields and records. The chapter concludes by discussing exceptions and shows the student how to write exception-handling code. |
3 | Lists and Tuples. This chapter introduces the student to the concept of a sequence in Python and explores the use of two common Python sequences: lists and tuples. The student learns to use lists for arraylike operations, such as storing objects in a list, iterating over a list, searching for items in a list, and calculating the sum and average of items in a list. |
4 | More about Strings. In this chapter, the student learns to process strings at a detailed level. String slicing and algorithms that step through the individual characters in a string are discussed, and several built-in functions and string methods for character and text processing are introduced. |
5 | Dictionaries and Sets. This chapter introduces the dictionary and set data structures. The student learns to store data as key-value pairs in dictionaries, search for values, change existing values, add new key-value pairs, and delete key-value pairs. |
6 | Sorting algorithms in Python. During this chapter students will learn how to apply different sorting algorithms in lists and 2D lists. |
7 | Review Session and Exercises |
8 | Midterm exam |
9 | 2D lists, different types of searching algorithms. During this chapter students will learn how to apply different searching algorithms in lists and 2D lists. |
10 | Numpy. Students should be able to use Numpy library which is the core library for scientific computing in Python. It provides a high-performance multidimensional array object, and tools for working with these arrays. |
11 | Pandas. During this chapter students will learn how to manipulate and analyse data using Pandas library which acts as a wrapper over Numpy and Matplotlib libraries. |
12 | GUI- Python Programming. This chapter discusses the basic aspects of designing a GUI application. Fundamental widgets, such as labels, buttons, entry fields, radio buttons, check buttons, and dialog boxes, are covered |
13 | GUI II- This chapter discusses Matplotlib library. Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Python Programming Matplotlib II |
14 | Review and Excercises |
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 apply advanced algorithms in data structures |
2 | To apply dictionaries in real world problems |
3 | To input and output data from different sources, such as; files and web. |
4 | To apply data visualisation using Matplotlib |
5 | To apply Numpy library for data analysis |
6 | To apply Pandas library for data manipulation and analysis |
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution) |
No | Program Competencies | Cont. |
Bachelor in Business Informatics (3 years) Program | ||
1 | Identify activities, tasks, and skills in management, marketing, accounting, finance, and economics. | 5 |
2 | Apply key theories to practical problems within the global business context. | 5 |
3 | Demonstrate ethical, social, and legal responsibilities in organizations. | 5 |
4 | Develop an open minded-attitude through continuous learning and team-work. | 5 |
5 | Integrate different skills and approaches to be used in decision making and data management. | 5 |
6 | Combine computer skills with managerial skills, in the analysis of large amounts of data. | 5 |
7 | Provide solutions to complex information technology problems. | 5 |
8 | Recognize, analyze, and suggest various types of information-communication systems/services that are encountered in everyday life and in the business world. | 5 |
COURSE EVALUATION METHOD
|
Method | Quantity | Percentage |
Midterm Exam(s) |
1
|
40
|
Final Exam |
1
|
30
|
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
|
Students should uphold the code of ethics in all academic endeavors. Cheating in any form is strictly prohibited. Please be aware that any misbehavior report will result in an automatic evaluation of zero points for the respective exam. |