CS105 Advanced Programming


CS105 Advanced Programming

Syllabus   |  International University of Sarajevo  -  Last Update on Feb 02, 2026

Referencing Curricula

HOSTED BY

Computer Sciences and Engineering

Academic Year
2025 - 2026
Semester
Spring
Course Code
CS105
Weekly Hours
3 Teaching + 2 Practice
ECTS
6
Prerequisites
Teaching Mode Delivery
Face-to-face
Prerequisite For
Teaching Mode Delivery Notes
-
Cycle
I Cycle
Prof. Jane Doe

Kanita Karađuzović-Hadžiabdić

Course Lecturer

Position
Associate Professor Dr.
Phone
033 957 218
Assistant(s)
Ismar Aganovic, Nedim Redzovic, Amar Mulaosmanovic
Assistant E-mail

Course Objectives

The aims of this course are to: teach students main object-oriented concepts and practices, introduce students to one object-oriented programming language, teach students some of the fundamental data structures and algorithms.

Learning Outcomes

After successful completion of the course, the student will be able to:

1
Demonstrate understanding of the fundamental principles of object-oriented programming.
2
Design and implement moderately complex real-world problems using object-oriented programming techniques.
3
Define and explain fundamental data structures and their characteristics.
4
Implement appropriate data structures to solve problems based on given requirements.

Course Materials

Required Textbook

Walter Savitch, Absolute Java, 6th Edition Pearson; Carrano, Data Structures and Abstractions with Java, 4th Edition

Additional Literature
-

Teaching Methods

Lectures
Class discussion
Practical work
Lab exercises
Homework exercises

Weekly Topics

This weekly planning is subject to change with advance notice.
Week Topic Readings / References
1 Introduction to the course, Intro to Java and Classes; UNGRADED LAB Chapter 1,2, 3 (Savitch)
2 Intro to Classes, Methods, Encapsulation, Overloading Constructors; UNGRADED LAB Chapter 4 (Savitch)
3 Static keyword, Wrapper Classes, References, Copy Constructors, Package; UNGRADED LAB Chapter 5 (Savitch)
4 Copy Constructors (cont.) Inheritance, PART I; UNGRADED LAB Chapter 5,7 (Savitch)
5 Inheritance, PART II; GRADED LAB Chapter 7 (Savitch)
6 Polymorphism and Abstract Classes; UNGRADED LAB Chapter 8 (Savitch)
7 ExceptionHandling GRADED LAB Chapter 9, 10 (Savitch)
8 MIDTERM WEEK; NO LAB
9 Intro to UML (Basics of class idagram), Debugging, Swing part I: UNGRADED LAB Chapter 12, 17 (Savitch)
10 Swing part II, Interfaces (short Intro), UNGRADED LAB Chapter 17
11 Data Strucures (Bags, Array implementation); GRADED LAB Chapter1, 2 (Carrano)
12 Data Strucures (Bags, Link Implementation, Intro to Stacks); GRADED LAB Chapter 3,5, (Carrano)
13 Data Structures (Stack implementations); QUIZ; UNGRADED LAB Chapter 6, (Carrano)
14 Data Structures (Intro to Queues, Deques, Priority Queues) UNGRADED LAB Chapter 10 (Carrano)
15 Data Structures Continuation: Intro to Queues, Deques, Priority Queues), Exam Prep.; UNGRADED LAB Chapter 10 (Carrano)

Course Schedule (All Sections)

SectionTypeDay 1Venue 1Day 2Venue 2
CS105.1 Course Monday 15:00 - 17:50 B F1.23 - Amphitheater I - -
CS105.2 Course Wednesday 09:00 - 11:50 B F1.23 - Amphitheater I - -
CS105.1 Tutorial Thursday 16:00 - 17:50 A F1.3 - Computer Lab - -
CS105.2 Tutorial Thursday 10:00 - 11:50 RC1.4 - Computer Laboratory - -
CS105.3 Tutorial Friday 14:00 - 15:50 A F1.3 - Computer Lab - -
CS105.4 Tutorial Friday 10:00 - 11:50 A F1.3 - Computer Lab - -
CS105.5 Tutorial Thursday 14:00 - 15:50 B F1.25 Computer Lab - -
CS105.6 Tutorial Thursday 12:00 - 13:50 A F1.4 - Class/Laboratory - -
CS105.7 Tutorial Friday 09:00 - 10:50 A F1.4 - Class/Laboratory - -
CS105.8 Tutorial Friday 14:00 - 15:50 A F1.18 - Computer Lab - -
CS105.9 Tutorial Tuesday 12:00 - 13:50 B F1.25 Computer Lab - -
CS105.10 Tutorial Friday 12:00 - 13:50 A F1.3 - Computer Lab - -

Office Hours & Room

DayTimeOfficeNotes
Tuesday 10:00 - 12:00 B F3.13
Wednesday 14:00 - 17:00 B F3.13

Assessment Methods and Criteria

Assessment Components

40%x1
Final Exam
AI: Not Allowed

Alignment with Learning Outcomes :  1  2  3  4

30%x1
Midterm exam
AI: Not Allowed

Alignment with Learning Outcomes :  1  2

20%x4
Lab
AI: Not Allowed

Alignment with Learning Outcomes :  1  2  3  4

10%x1
Quiz
AI: Not Allowed

Alignment with Learning Outcomes :  1  2  3  4

IUS Grading System

Grading Scale IUS Grading System IUS Coeff. Letter (B&H) Numerical (B&H)
0 - 44 F 0 F 5
45 - 54 E 1
55 - 64 C 2 E 6
65 - 69 C+ 2.3 D 7
70 -74 B- 2.7
75 - 79 B 3 C 8
80 - 84 B+ 3.3
85 - 94 A- 3.7 B 9
95 - 100 A 4 A 10

Late Work Policy

Information about late submission policies will be shared during class and posted in this section. Please check back for official guidelines.

ECTS Credit Calculation

📚 Student Workload

This 6 ECTS credit course corresponds to 150 hours of total student workload, distributed as follows:

Lecture Hours

45 hours ⏳ (15 week × 3 h)

Labs

28 hours ⏳ (14 week × 2 h)

Home Study

45 hours ⏳ (15 week × 3 h)

Midterm exam

10 hours ⏳ (1 week × 10 h)

Final exam study

13 hours ⏳ (1 week × 13 h)

Quiz

9 hours ⏳ (1 week × 9 h)

150 Total Workload Hours

6 ECTS Credits


Course Policies

Academic Integrity

All work submitted must be your own. Plagiarism, cheating, or any form of academic dishonesty will result in disciplinary action according to university policies. When in doubt about citation practices, consult the instructor.

Attendance Policy

Students are expected to adhere to the attendance requirements as outlined in the International University of Sarajevo Study Rules and Regulations. Excessive absences, whether excused or unexcused, may impact academic performance and eligibility for assessment. Mandatory sessions (e.g., labs, workshops) require attendance unless formally exempted. For detailed policies on absences, documentation, and penalties, please refer to the official university regulations.

Technology & AI Policy

Laptops/tablets may be used for note-taking only during lectures. Phones should be silenced and put away during all class sessions. Audio/video recording requires prior permission from the instructor.

Artificial Intelligence (AI) Usage: The use of AI tools (e.g., ChatGPT, Copilot, Gemini) varies by assessment component. Please refer to the AI usage indicator next to each assessment item in the Assessment Methods and Criteria section above. Submitting AI-generated content as your own work, where AI is not explicitly allowed, constitutes an academic integrity violation.

Communication Policy

All course-related communication should occur through official university channels (institutional email or SIS). Emails should include [CS105] in the subject line.

Academic Quality Assurance Policy

Course Academic Quality Assurance is achieved through Semester Student Survey. At the end of each academic year, the institution of higher education is obliged to evaluate work of the academic staff, or the success of realization of the curricula.

More info

Learning Tips

Engage Actively

Be prepared to contribute thoughtfully during class discussions, labs, or collaborative work. Active participation deepens understanding and encourages critical thinking.

Read and Review Purposefully

Complete assigned readings or prep materials before class. Take notes, highlight key ideas, and jot down questions. Aim to grasp core concepts and their applications—not just facts.

Think Critically in Assignments

Use course frameworks or methodologies to analyze problems, case studies, or projects. Begin early to allow time for reflection and refinement. Seek feedback to improve your work.

Ask Questions Early

Don’t hesitate to reach out when something is unclear. Use office hours, discussion boards, or peer networks to clarify concepts and stay on track.

Syllabus Last Updated on Feb 02, 2026 | International University of Sarajevo

Print Syllabus