CS423 Parallel Computing
CS423 Parallel Computing
Syllabus | International University of Sarajevo - Last Update on Mar 03, 2026
Computer Sciences and Engineering
Course Objectives
The goal of this course is to equip students with Python basics, data analysis, data structures and visualization in Python. A student who successfully completes this course will have achieved the foundation to become a junior data scientist, capable of preprocessing, analyzing, visualizing and drawing useful insights from various datasets. The course does not assume any knowledge of Python per se, but it assumes prior programming experience, knowledge of basic probability, data structures and algorithms.
Learning Outcomes
After successful completion of the course, the student will be able to:
Course Materials
Required Textbook
The main textbook: Python for Data Analysis, Wes McKinney, O'Reilly, 2013 (PDA) The secondary textbook: High Performance Python, Micha Gorelick and Ian Oszvald, O'Reilly, 2014 (HPP)
Additional Literature
The course will also feature a set of Jupyter notebooks that will be provided for practice to students. There is a rich literature on Python, data science, data structures and algorithms in Python that will be introduced on a need-by basis. There will be separate literature introduced for the visualization part of the course.Teaching Methods
Practical and active problem-solving by the instructor and students
Capstone data science project
Exams.
Weekly Topics
| Week | Topic | Readings / References |
|---|---|---|
| 1 | Course introduction | N/A --- materials from lecture |
| 2 | Environment setup/Jupyter overview / Python crash course intro | N/A --- materials from lecture |
| 3 | Python crash course: Lists and tuples | HPP Ch 3 |
| 4 | Python crash course: Dictionaries and sets | HPP Ch 4 |
| 5 | Python for Data Analysis: NumPy | PDA Ch 4 |
| 6 | Python for Data Analysis: Pandas | PDA Ch 5 |
| 7 | Python for Data Analysis: Pandas | PDA Ch 5 |
| 8 | Data loading, storage and file formats | PDA Ch6 |
| 9 | Mid-term I | |
| 10 | Python for Data Visualization: Matplotlib // Data Capstone project out | PDA Ch8 (and more materials) |
| 11 | Python for Data Visualization: Seaborn | PDA Ch8 (and more materials) |
| 12 | Python for Data Visualization: Plotly / Python built-in visualization | PDA Ch8 (and more materials) |
| 13 | Cufflinks, geographical plotting | PDA Ch8 (and more materials) |
| 14 | Time series | PDA Ch10 |
| 15 | Mid-term 2 // Data Capstone Project due |
Course Schedule (All Sections)
Office Hours & Room
Assessment Methods and Criteria
Assessment Components
Final Exam (Data Capstone Project))
AI: Not AllowedAlignment with Learning Outcomes :
Mid-term I
AI: Not AllowedAlignment with Learning Outcomes :
Mid-term II
AI: Not AllowedAlignment with Learning Outcomes :
Tutorial weekly exercises
AI: Not AllowedAlignment with Learning Outcomes :
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:
Lectures
45 hours ⏳ (15 week × 3 h)
Tutorials
30 hours ⏳ (15 week × 2 h)
In-term exam prep
14 hours ⏳ (2 week × 7 h)
Weekly self study
45 hours ⏳ (15 week × 3 h)
Data Capstone
16 hours ⏳ (1 week × 16 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 [CS423] 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.
Learning Tips
Be prepared to contribute thoughtfully during class discussions, labs, or collaborative work. Active participation deepens understanding and encourages critical thinking.
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.
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.
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 Mar 03, 2026 | International University of Sarajevo
Print Syllabus
Referencing Curricula Print this page
| Course Code | Course Title | Weekly Hours* | ECTS | Weekly Class Schedule | ||||||
| T | P | |||||||||
| CS423 | Parallel Computing | 3 | 2 | 6 | Tuesday 3pm-5:50pm | |||||
| Prerequisite | CS302, CS307 | It is a prerequisite to | - | |||||||
| Lecturer | Office Hours / Room / Phone | Currently not available |
||||||||
| Assistant | Assistant E-mail | |||||||||
| Course Objectives | The goal of this course is to equip students with Python basics, data analysis, data structures and visualization in Python. A student who successfully completes this course will have achieved the foundation to become a junior data scientist, capable of preprocessing, analyzing, visualizing and drawing useful insights from various datasets. The course does not assume any knowledge of Python per se, but it assumes prior programming experience, knowledge of basic probability, data structures and algorithms. |
|||||||||
| Textbook | The main textbook: Python for Data Analysis, Wes McKinney, O'Reilly, 2013 (PDA) The secondary textbook: High Performance Python, Micha Gorelick and Ian Oszvald, O'Reilly, 2014 (HPP) | |||||||||
| Additional Literature |
|
|||||||||
| Learning Outcomes | After successful completion of the course, the student will be able to: | |||||||||
| Teaching Methods | Practical and active problem-solving by the instructor and students, capstone data science project, exams. | |||||||||
| Teaching Method Delivery | Online | Teaching Method Delivery Notes | ||||||||
| WEEK | TOPIC | REFERENCE | ||||||||
| Week 1 | Course introduction | N/A --- materials from lecture | ||||||||
| Week 2 | Environment setup/Jupyter overview / Python crash course intro | N/A --- materials from lecture | ||||||||
| Week 3 | Python crash course: Lists and tuples | HPP Ch 3 | ||||||||
| Week 4 | Python crash course: Dictionaries and sets | HPP Ch 4 | ||||||||
| Week 5 | Python for Data Analysis: NumPy | PDA Ch 4 | ||||||||
| Week 6 | Python for Data Analysis: Pandas | PDA Ch 5 | ||||||||
| Week 7 | Python for Data Analysis: Pandas | PDA Ch 5 | ||||||||
| Week 8 | Data loading, storage and file formats | PDA Ch6 | ||||||||
| Week 9 | Mid-term I | |||||||||
| Week 10 | Python for Data Visualization: Matplotlib // Data Capstone project out | PDA Ch8 (and more materials) | ||||||||
| Week 11 | Python for Data Visualization: Seaborn | PDA Ch8 (and more materials) | ||||||||
| Week 12 | Python for Data Visualization: Plotly / Python built-in visualization | PDA Ch8 (and more materials) | ||||||||
| Week 13 | Cufflinks, geographical plotting | PDA Ch8 (and more materials) | ||||||||
| Week 14 | Time series | PDA Ch10 | ||||||||
| Week 15 | Mid-term 2 // Data Capstone Project due | |||||||||
| Assessment Methods and Criteria | Evaluation Tool | Quantity | Weight | Alignment with LOs | AI Usage |
| Final Exam (Data Capstone Project)) | 1 | 30 | Not Allowed | ||
| Semester Evaluation Components | |||||
| Mid-term I | 1 | 25 | Not Allowed | ||
| Mid-term II | 1 | 25 | Not Allowed | ||
| Tutorial weekly exercises | 1 | 20 | Not Allowed | ||
| *** ECTS Credit Calculation *** | |||||
| Activity | Hours | Weeks | Student Workload Hours | Activity | Hours | Weeks | Student Workload Hours | |||
| Lectures | 3 | 15 | 45 | Tutorials | 2 | 15 | 30 | |||
| In-term exam prep | 7 | 2 | 14 | Weekly self study | 3 | 15 | 45 | |||
| Data Capstone | 16 | 1 | 16 | |||||||
| Total Workload Hours = | 150 | |||||||||
| *T= Teaching, P= Practice | ECTS Credit = | 6 | ||||||||
| Course Academic Quality Assurance: Semester Student Survey | Last Update Date: 27/03/2026 | |||||||||
