COURSE INFORMATION
Course Title: INTRODUCTION TO ALGORITHMS AND PROGRAMMING I
Code Course Type Regular Semester Theory Practice Lab Credits ECTS
CEN 111 B 1 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) NA
Main Course Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: Dr. Aida Bitri abitri@epoka.edu.al , E-203, Monday: 12:00-14:30, Tuesday 12:30-14:00, Wednesday 10:30-11:30
Second Course Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: M.Sc. Enesh Orazova eorazova@epoka.edu.al
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 Informatics (3 years)
Classroom and Meeting Time:
Code of Ethics: Code of Ethics of EPOKA University
Regulation of EPOKA University "On Student Discipline"
Attendance Requirement: 75% Mandatory
Course Description: The objective of this course is to equip the students with the basic understanding of algorithms and programming concepts. Flowcharts are also covered in the course.
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 Algorithms
2 Flowchart design
3 Program
4 Programming Language
5 Interpreter
6 Python
7 Compiler
8 Development Environment
9 Number System Conversion
COURSE OUTLINE
Week Topics
1 Fundamental Principles of Programming (Programs, Algorithms, Software): Grasping Programming Logic - The Seven Steps of the Problem-Solving Process and Information Processing. Exploring Data and File Formats, Number Systems, and Boolean Algebra
2 Number Systems: Converting Numbers from Binary to Octal, Decimal, and Hexadecimal
3 An Overview of Flowcharts and Task Analysis, Including Flowchart Symbols. Exploring Decision Structures, Repetitive Structures, and Their Applications in Solving Business-Related Problems. Practical Exercises Included.
4 Exploring Decision Structures and Boolean Logic (If and If-Else Statements) for Solving Business-Related Problems. Practice Exercises Included.
5 Exploring Decision Structures and Boolean Logic (If and If-Else Statements) for Solving Business-Related Problems. Practice Exercises Included, part II.
6 Understanding Repetition Structures (While and For Loops) for Solving Business-Related Problems. Practice Exercises Included
7 Understanding Repetition Structures (While and For Loops) for Solving Business-Related Problems. Practice Exercises Included, part II
8 Mid-Term Exam
9 Getting Acquainted with the Python Environment: Syntax, Fundamental Components (Input, Processing, Output), Python Installation, and an Introduction to PyCharm. Navigating PyCharm and Understanding its Key Features. Covering Variable Declaration, Parameter Usage, and User Data Input
10 Exploring Strings in Python and Manipulating Characters.
11 Python Decision and Repetition Structures.
12 Python Functions: Definition and Calling
13 Exploring Lists and Tuples: Understanding Sequence Data, List Slicing, Efficient Item Retrieval in Lists, Exploring Various List Methods, and Utilizing Essential Built-in Functions.
14 Exercises and review for the final exam.
Prerequisite(s): -
Textbook(s): PPT Lecture Notes- 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 Students should be able to identify the fundamental principles of programming
2 Students should be able to design an algorithm (Using Flowcharts) to solve a problem
3 Students should be able to define the structure and components of a Python program
4 Students should be able to learn how to use lists, tuples, and dictionaries in Python programs
5 Students should be able to learn how to write loops and decision statements in Python
6 Students should be able 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 Informatics (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. 3
3 Demonstrate ethical, social, and legal responsibilities in organizations. 3
4 Develop an open minded-attitude through continuous learning and team-work. 4
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. 4
7 Provide solutions to complex information technology problems. 4
8 Recognize, analyze, and suggest various types of information-communication systems/services that are encountered in everyday life and in the business world. 3
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

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.