Subject

Client-side Internet programming

1. Course Title Client-side Internet programming
Client-side internet programming
2. Code F23L2W109
3. Study Programme Professional Studies in Programming
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) First Cycle
6. Academic year / semester 3 / Winter
7. Number of ECTS credits 6
8. Teacher Bojan Ilijoski, Ivan Kitanovski, Suzana Loshkoska
9. Prerequisites for enrolling in the course Structured programming
10. Objectives of the course programme (competences) The goal of the course is to introduce students to the fundamentals of client-side web programming. In that regard, students will be introduced to some of the programming languages and technologies for writing programs that run on the client side. Upon completion of the course, the student is expected to be able to develop interactive web pages using programming languages designed for client-side programming.
11. Course content Lectures:
1. Introduction. What is the Internet? A brief history. Client-server architecture. Internet programming. Client-side programming languages. Server-side programming languages. Scripting languages.
2. Introduction to JavaScript. History. Standardization. Basic concepts. Data types. DOM model. Variables. Operators. Statements.
3. Functions in Javascript. Syntax. Input parameters. Scope of data. Functions in Javascript 2.0. Standard functions.
4. Arrays in Javascript. Declaring arrays. Array operations. Examples. Multidimensional arrays.
5. Objects. Objects in Javascript. Standard predefined objects.
6. DOM. Structure. Elements. Referencing elements. Events. Adding and deleting elements.
7. JQuery. Introduction. Syntax. Selectors. Methods. Events. Effects.
8. AJAX. Traditional web applications versus Ajax applications. Rich Internet Applications (RIAs) with Ajax. History.
Examples (with the XMLHttpRequest object, with XML and DOM, creating a complete Ajax-enabled application)
9. Canvas in JavaScript. Screen elements. Events (mouse, keyboard)
10. JSON. Introduction. Syntax. Data Types. Examples.

Practical Classes:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
12. Learning methods Lectures using presentations, interactive lectures, exercises (using equipment and software packages), teamwork, case studies, guest lecturers, independent preparation and defense of a project assignment and a seminar paper.
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 45 + 15 + 15 + 75 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 hours
16.2. Independent assignments 15 hours
16.3. Home study 75 hours
17. Assessment method
17.1. Tests 0 points
17.2. Seminar paper / project (presentation: written and oral) 15 points
17.3. Activities and learning 10 points
17.4. Final exam 70 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam Activities 15.2 and 16.1 completed
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching Internal Evaluation and Survey Mechanism
22. Literature
22.1. Required literature
1. Deitel, Paul J. | Internet and World Wide Web: How to Program | Pearson Education, Inc. | 2012
2. Robin Nixon | Learning PHP, MySQL & JavaScript | O'Reilly Media, Inc., | 2015
3. Nicholas C. Zakas | Professional JavaScript for Web Developers | Wrox | 2012
22.2. Additional literature
No. Author Title Publisher Year