Course Summary Course Objectives Learning Outcomes Course Materials Teaching Methods Weekly Topics Course Schedule Office Hours Assestment ECTS Calculation Course Policies Learning Tips Print Syllabi Download as PNG

CS412 Web Application Development

Syllabus   |  International University of Sarajevo  -  Last Update on Oct 10, 2025

Referencing Curricula

Syllabus Quick Jump

Search and navigate to any syllabus instantly

HOSTED BY

Computer Sciences and Engineering

Fall 2025 - 2026 | 6 ECTS Credits | International University of Sarajevo

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

Ali Almisreb

Course Lecturer

Position
Associate Professor Dr.
Email
aalmisreb@ius.edu.ba
Phone
033 957 243
Assistant(s)
-
Assistant E-mail
-

Course Objectives

  1. To provide students with a comprehensive understanding of web development technologies, including HTML5, CSS3, and the Tailwind CSS framework, enabling them to create visually appealing and responsive web interfaces.
  2. To equip students with in-depth knowledge and practical skills in JavaScript, emphasizing its role as a dynamic scripting language for web development, enabling them to build interactive and user-friendly web applications.
  3. To introduce students to the fundamentals of React.js, guiding them in creating reusable and efficient user interface components and fostering proficiency in single-page application development.
  4. To explore Node.js as a back-end framework, enabling students to build server-side applications, handle data storage and retrieval, and understand the principles of asynchronous programming and API development.
  5. To assess student learning through a balanced evaluation approach, including final and end-term exams that test theoretical knowledge and two comprehensive projects that require the practical application of web development concepts, from basic HTML/CSS to advanced React.js and Node.js integration, encouraging hands-on experience and problem-solving skills development.

Learning Outcomes

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

1
Develop dynamic websites
2
Apply HTML, CSS and JavaScript for website design. Usage of a web application framework (e.g. Bootstrap).
3
Apply the a scripting language and database system to design dynamic website (e.g. PHP and MYSQL)
4
Build basic security mechanisms for protection of dynamic websites

Course Materials

Required Textbook

  1. Duckett, Jon. HTML & CSS: design and build websites. Vol. 15. Indianapolis, IN: Wiley, 2011.
  2. Duckett, Jon, Gilles Ruppert, and Jack Moore. JavaScript & jQuery: interactive front-end web development. Hoboken, NJ: Wiley, 2014.
  3. Brown, Ethan. Web development with node and express: leveraging the JavaScript stack. O'Reilly Media, 2019.

Additional Literature
  • York, Richard. Beginning JavaScript and CSS Development with jQuery. John Wiley & Sons, 2011.
  • Connolly, Randy. Fundamentals of web development. Pearson Education, 2015.
  • Luke Welling, and Laura Thomson. PHP and MySQL Web Development, Fifth Edition, Pearson Education, 2017.
  • Casciaro, Mario, and Luciano Mammino. Node.js Design Patterns. Third Edition, Packt Publishing Ltd, July 2020.
  • Teaching Methods

    Class discussions with examples
    Active tutorial sessions for engaged learning and continuous feedback on progress
    Individual projects that involve nontrivial, dynamic web application development

    Weekly Topics

    This weekly planning is subject to change with advance notice.
    Week Topic Readings / References
    1 Introduction to HTML : Structure, Text, Links Chapter 1-7 (Duckett, 2011)
    2 Introducing CSS, Color, Text, Boxes, Lists,Tables,Forms Chapter 10-14 (Duckett, 2011)
    3 Tailwind Framework Hands-on
    4 Basics of JavaScript Introduction to JavaScript and its role in web development Variables, Data Types, and Operators Functions: Declaration, Parameters, Return Values Methods & Objects Control Structures: Conditional Statements and Loops Chapter 2-4 (Duckett, 2014)
    5 Document Object Model (DOM) & Data Handling Understanding the DOM Tree Selecting and Manipulating Elements Event Handling and Event Listeners Introduction to Ajax Working with JSON for Data Exchange Chapter 5-6,8 (Ducket, 2014)
    6 Content Panels, Form Enhancement & Validation Creating and Managing Content Panels Enhancing Forms with JavaScript Client-Side Form Validation Techniques Error Messages and User Feedback Accessibility Considerations Hands-on
    7 Advanced JavaScript & Application Development ES6+ Features: Let/Const, Arrow Functions, Template Literals, Destructuring Modules and Classes Promises and Async/Await for Asynchronous Programming Fetch API and Error Handling Introduction to Single Page Application (SPA) Concepts Hands-on
    8 Midterm
    9 React 1 Hands-on
    10 React 2 Hands-on
    11 React 3 Hands-on
    12 Getting Started with Node Chapter 2 [3]
    13 Templating with Handlebars Chapter 7 [3]
    14 Form Handling Chapter 8 [3]
    15 Cookies and Sessions Chapter 9 [3]

    Course Schedule (All Sections)

    SectionTypeDay 1Venue 1Day 2Venue 2
    CS412.1 Course Wednesday 15:00 - 17:50 A F1.11 - -
    CS412.2 Course Wednesday 09:00 - 11:50 A F1.24 - Amphitheater I - -
    CS412.1 Tutorial Thursday 09:00 - 10:50 A F1.4 - Class/Laboratory - -
    CS412.2 Tutorial Thursday 11:00 - 12:50 A F1.4 - Class/Laboratory - -
    CS412.3 Tutorial Thursday 09:00 - 10:50 A F1.18 - Computer Lab - -
    CS412.4 Tutorial Thursday 14:00 - 15:50 A F1.17 - -
    CS412.5 Tutorial Friday 11:00 - 12:50 A F1.4 - Class/Laboratory - -

    Office Hours & Room

    DayTimeOfficeNotes
    Thursday 09:00 - 11:55 A F2.6
    Friday 09:00 - 11:55 A F2.6

    Assessment Methods and Criteria

    Assessment Components

    40%x1
    Final Exam
    AI: Not Allowed

    Alignment with Learning Outcomes :  3  4

    30%x1
    midterm Exam
    AI: Not Allowed

    Alignment with Learning Outcomes :  1  2  3  4

    10%x2
    Quiz
    AI: Not Allowed

    Alignment with Learning Outcomes :  1  2  3  4

    20%x1
    Project
    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

    IUS Grading System

    Letter marks that do not affect student's CGPA:
    • "IP" – In progress is assigned for recording unfulfilled student obligations related to graduation project/thesis/dissertation and internship.
    • "S" – Satisfactory is assigned to a student who passed the examinations that are not numerically graded or whose written assignment has been accepted.
    • "U" – Unsatisfactory is assigned to a student who failed to pass the examinations that are not numerically graded.
    • "W" – Withdrawal signifies that student has withdrawn from the relevant course.
    Additional letter mark that affects student's CGPA:

    "N/A" – Not attending, and it is assigned to a student who is suspended from the course or who does not meet the minimal requirement for attendance on lectures or tutorials. The course lecturer must follow the attendance policy and assign "N/A" in each case of a student failing attendance.

    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

    42 hours ⏳ (14 week × 3 h)

    Labs

    22 hours ⏳ (11 week × 2 h)

    Home Study

    30 hours ⏳ (15 week × 2 h)

    Final exam study

    20 hours ⏳ (5 week × 4 h)

    Project

    36 hours ⏳ (9 week × 4 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 [CS412] 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

    Article 112: Evaluation of Work of the Academic Staff

    1. 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.
    2. Evaluation of work of each academic staff member is to be carried out in accordance with the Statute of the institution of higher education by the institution as well as by students.
    3. The institutions of higher education are obliged to carry out a students’ evaluation survey on the academic staff performance after the end of each semester, or after the completed teaching cycle for the subject taught.
    4. Evaluation must evaluate: lecture quality, student-academic staff interaction, correctness of communication, teacher’s attitudes towards students attending the teaching activities and at assessments, availability of suggested reading material, attendance and punctuality of the teacher, along with other criteria which are defined in the Statute.
    5. The institution of higher education by a specific act determines the procedure for evaluation of the academic staff performance, the content of survey forms, the manner of conducting the evaluation, grading criteria for the evaluation, as well as adequate measures for the academic staff who received negative evaluation for two consecutive years.
    6. The evaluation of the academic staff performance is an integral process of establishment the quality assurance system, or self-control and internal quality assurance.
    7. Results of the evaluation of the academic staff performance are to be adequately analyzed by the institution of higher education, and the decision of the head of the organizational unit about the employee’s work performance is an integral part of the personal file of each member of academic staff.

    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.

    Course Academic Quality Assurance: Semester Student Survey

    Syllabus Last Updated on Oct 10, 2025 | International University of Sarajevo

    Print Syllabus  

     

     

    Referencing Curricula Print this page

    Course Code Course Title Weekly Hours* ECTS Weekly Class Schedule
    T P
    CS412 Web Application Development 3 2 6 Wed. 09:00-11:50; Wed. 15:00-17:50
    Prerequisite CS105 It is a prerequisite to -
    Lecturer Ali Almisreb Office Hours / Room / Phone
    Thursday:
    9:00-11:55
    Friday:
    9:00-11:55
    A F2.6 - 033 957 243
    E-mail aalmisreb@ius.edu.ba
    Assistant Assistant E-mail
    Course Objectives
    To provide students with a comprehensive understanding of web development technologies, including HTML5, CSS3, and the Tailwind CSS framework, enabling them to create visually appealing and responsive web interfaces.
    To equip students with in-depth knowledge and practical skills in JavaScript, emphasizing its role as a dynamic scripting language for web development, enabling them to build interactive and user-friendly web applications.
    To introduce students to the fundamentals of React.js, guiding them in creating reusable and efficient user interface components and fostering proficiency in single-page application development.
    To explore Node.js as a back-end framework, enabling students to build server-side applications, handle data storage and retrieval, and understand the principles of asynchronous programming and API development.
    To assess student learning through a balanced evaluation approach, including final and end-term exams that test theoretical knowledge and two comprehensive projects that require the practical application of web development concepts, from basic HTML/CSS to advanced React.js and Node.js integration, encouraging hands-on experience and problem-solving skills development.
    Textbook Duckett, Jon. HTML & CSS: design and build websites. Vol. 15. Indianapolis, IN: Wiley, 2011. Duckett, Jon, Gilles Ruppert, and Jack Moore. JavaScript & jQuery: interactive front-end web development. Hoboken, NJ: Wiley, 2014. Brown, Ethan. Web development with node and express: leveraging the JavaScript stack. O'Reilly Media, 2019.
    Additional Literature
    • York, Richard. Beginning JavaScript and CSS Development with jQuery. John Wiley & Sons, 2011. Connolly, Randy. Fundamentals of web development. Pearson Education, 2015. Luke Welling, and Laura Thomson. PHP and MySQL Web Development, Fifth Edition, Pearson Education, 2017. Casciaro, Mario, and Luciano Mammino. Node.js Design Patterns. Third Edition, Packt Publishing Ltd, July 2020.
    Learning Outcomes After successful  completion of the course, the student will be able to:
    1. Develop dynamic websites
    2. Apply HTML, CSS and JavaScript for website design. Usage of a web application framework (e.g. Bootstrap).
    3. Apply the a scripting language and database system to design dynamic website (e.g. PHP and MYSQL)
    4. Build basic security mechanisms for protection of dynamic websites
    Teaching Methods Class discussions with examples. Active tutorial sessions for engaged learning and continuous feedback on progress. Individual projects that involve nontrivial, dynamic web application development
    Teaching Method Delivery Face-to-face Teaching Method Delivery Notes
    WEEK TOPIC REFERENCE
    Week 1 Introduction to HTML : Structure, Text, Links Chapter 1-7 (Duckett, 2011)
    Week 2 Introducing CSS, Color, Text, Boxes, Lists,Tables,Forms Chapter 10-14 (Duckett, 2011)
    Week 3 Tailwind Framework Hands-on
    Week 4 Basics of JavaScript Introduction to JavaScript and its role in web development Variables, Data Types, and Operators Functions: Declaration, Parameters, Return Values Methods & Objects Control Structures: Conditional Statements and Loops Chapter 2-4 (Duckett, 2014)
    Week 5 Document Object Model (DOM) & Data Handling Understanding the DOM Tree Selecting and Manipulating Elements Event Handling and Event Listeners Introduction to Ajax Working with JSON for Data Exchange Chapter 5-6,8 (Ducket, 2014)
    Week 6 Content Panels, Form Enhancement & Validation Creating and Managing Content Panels Enhancing Forms with JavaScript Client-Side Form Validation Techniques Error Messages and User Feedback Accessibility Considerations Hands-on
    Week 7 Advanced JavaScript & Application Development ES6+ Features: Let/Const, Arrow Functions, Template Literals, Destructuring Modules and Classes Promises and Async/Await for Asynchronous Programming Fetch API and Error Handling Introduction to Single Page Application (SPA) Concepts Hands-on
    Week 8 Midterm
    Week 9 React 1 Hands-on
    Week 10 React 2 Hands-on
    Week 11 React 3 Hands-on
    Week 12 Getting Started with Node Chapter 2 [3]
    Week 13 Templating with Handlebars Chapter 7 [3]
    Week 14 Form Handling Chapter 8 [3]
    Week 15 Cookies and Sessions Chapter 9 [3]
    Assessment Methods and Criteria Evaluation Tool Quantity Weight Alignment with LOs AI Usage
    Final Exam 1 40 3,4 Not Allowed
    Semester Evaluation Components
    midterm Exam 1 30 1,2,3,4 Not Allowed
    Quiz 2 10 1,2,3,4 Not Allowed
    Project 1 20 1,2,3,4 Not Allowed
    ***     ECTS Credit Calculation     ***
     Activity Hours Weeks Student Workload Hours Activity Hours Weeks Student Workload Hours
    Lecture Hours 3 14 42 Labs 2 11 22
    Home Study 2 15 30 Final exam study 4 5 20
    Project 4 9 36 0
    0
            Total Workload Hours = 150
    *T= Teaching, P= Practice ECTS Credit = 6
    Course Academic Quality Assurance: Semester Student Survey Last Update Date: 15/10/2025

    Print this page