Object Oriented Programming

Object Oriented Programming

Code: 40722
ECTS: 5.0
Lecturers in charge: izv. prof. dr. sc. Goranka Bilalbegović - Lectures
Lecturers: Ema Jajtić - Laboratory exercises
Take exam: Studomat
Load:

1. komponenta

Lecture typeTotal
Lectures 30
Laboratory exercises 30
* Load is given in academic hour (1 academic hour = 45 minutes)
Description:
COURSE GOALS: The aim of the course is to introduce students to the object oriented programming in general, as well as to programming in Python. Students are required to numerically solve simple problems in mathematics and physics. This course prepares students to follow higher-level courses: Numerical Methods, User Interfaces and Computers in education.

LEARNING OUTCOMES AT THE LEVEL OF THE PROGRAMME:
1. KNOWLEDGE AND UNDERSTANDING
1.5. describe the purpose and use of common software packages;
1.6. list and describe the methods for manipulating data, basic principles of databases and fundamental algorithms in programming;
2. APPLYING KNOWLEDGE AND UNDERSTANDING
2.2. recognize and follow the logic of arguments, evaluate the adequacy of arguments and construct well supported arguments;
2.6. apply fundamental algorithms in programming;
4. COMMUNICATION SKILLS
4.4. use the written and oral English language communication skills that are essential for pursuing a career in physics, informatics and education
5. LEARNING SKILLS
5.1. search for and use professional literature as well as any other sources of relevant information;
5.2. remain informed of new developments and methods in physics, informatics and education;
5.3. develop a personal sense of responsibility for their professional advancement and development.

LEARNING OUTCOMES SPECIFIC FOR THE COURSE:
Upon completing the course students will be able to:
1. Write simple programs in Python
2. Numerically solve simple problems in physics and mathematics using Python
3. Visualize solutions of simple problems in mathematics and physics using Visual Python
4. Demonstrate the basic knowledge of the object oriented programming
5. Write projects using the Alice package, an educational software that teaches students computer programming in 3D environment
6. Develop and apply computer programming skills

COURSE DESCRIPTION:
1. Programming languages, interpreters and compilers, virtual machines, bytecode, Java and Python [2 hours]
2. Python programming language, installation of compilers and editors, Python 2 and Python 3, introduction to Python, standard library [2 hours]
3. Operations and operands, control flow statements [2 hours]
4. Functions and modules [2 hours]
5. Data structures, lists, tuples, dictionaries, sets, strings [2 hours]
6. Objects, classes, object oriented programming, UML (unified modelling language) [4 hours]
7. Class hierarchies, inheritance, special methods, garbage collection, information hiding, abstraction [2 hours]
8. Scripts, input/output, pickling, errors and exceptions [2 hours]
9. Visual Python [2 hours]
10. Programming in Alice [18 hours]

REQUIREMENTS FOR STUDENTS:
Students are required to regularly attend classes and online tests, to solve problems in Python and Alice, as well as to write the project in Alice.

GRADING AND ASSESSING THE WORK OF STUDENTS:
During the course students attend online tests (50 % of the final grade) and solve problems in computer labs (30% of the grade). A project in Allice is marked as 20 % of the grade.
Literature:
  1. 1. Moodle tečaj kolegija (lekcije, testovi, računalni praktikum)
  2. 2. P. Barry, Head First Python, O'Reilly

    3. M. H. Goldwasser, D. Letscher, Object-Oriented Programming in Python, Pearson

    4. J. Adams, Alice in Action: Computing Through Animation, Thomson Course Technology

    5. Z. Kalafatić, A. Poščić S. Šegvić, J. Šribar, Python za znatiželjne
Prerequisit for:
Enrollment :
Attended : Data Structures and Algorithms
4. semester
Mandatory course - Mandatory studij - Physics and Computer Science Education
Consultations schedule:

Repository

Repository is empty

Poll

No polls currently selected on this page!