| Course title | Introduction to Web Programming | |
| Study program | Undergraduate Professional Study of Computer Science – main field: Software Engineering | |
| Course status | Core | |
| Year of study | Second year, third semester | |
| ECTS (Number of credits allocated) | 9 | |
| Total lesson hours per semester | 15L+60E | |
| Course Objectives | ||
| It is expected from the student who has finished this course to know the concept of markup language, as well as basic novelties in the development of HTML through history. The student needs to know all the elements of HTML 5 and know how to apply the appropriate attributes of these elements. He/she must be able to visualize the basic structure of the HTML document and be able to create semantic and syntactically correct pages “from scratch”. He/she is expected to be familiar with the new HTML 5 functionality, including support for graphics (Canvas and SVG), multimedia (audio, video, and plug-ins), and HTML 5 APIs (geolocation, drag / drop, local storage, cache app, web workers, server sent event-e…). The student should master the basics of CSS and CSS3, including various types of selectors, concepts of legacy and overriding. The student must know the basic syntax of JavaScript – functions, iterators, conditioners, with special emphasis on the specificity of JavaScript prototype heritage. It is desirable to know how to work with server-side APIs using Ajax technology. The student must get the basics of PHP syntax and learn the concept of object-oriented programming in PHP language. He/she must be able to use tools such as Chrome developer tools or Firebug. | ||
| Learning outcomes | ||
| • Create a simple, responsive web site on the server, using the optional PHP, HTML, and CSS frameworks
• Perform simpler tasks in terms of dynamically changing DOM structure and event management, independently and with the use of jQuery frameworks and the corresponding plug-ins. |
||
| Course content | ||
| HTML 5 elements. CSS. JavaScript – basic concept and basics of syntax. PHP programming language syntax. Preparing a web application. Creating and installing a web application. Testing your app and searching for errors. | ||
| Types of classes | ||
| Lectures
Seminars and workshops Exercises Long-distance education Field lecture |
Independent tasks
Multimedia and the network Laboratory Mentoring Other ___________________ |
|
| Evaluation and assessment of the students’ work in the class and final exam | ||
| Lectures:
Lectures lasting 15 hours will be conducted in the first three weeks of the course (1st-3rd week) to prepare the student for laboratory exercises. Therefore, part of the lecture will be performed using the ex-cathedra method, while the second part will handle case-study examples. Attendance at lectures is a requirement for attending laboratory exercises.
Laboratory exercises: Laboratory exercises will be held over the next five weeks (4-8 weeks) for a period of 15 hours, with a dynamic of 3 hours per week. Laboratory exercises are the same for all students and are performed according to the pre-requisites and instructions for laboratory work. The student is required to prepare for laboratory exercises in accordance with the given preparation. During laboratory exercises, the student will become familiar with certain elements of C # programming language, which will be integrated into the entire project during the construction exercises. After completing the first part, the student has an obligation to complete the laboratory exercises.
Completing laboratory exercise: The student will get a task that involves writing and checking a short program snippet or recognizing errors in a set program snippet or interpreting and commenting on the work of a particular program snippet. Depending on the degree of understanding, the student gets a grade. Collaborative laboratory exercises are a condition for the student book signature.
Construction Exercises: Thereafter, in the next seven weeks (9th-15th week), the second part of the lab’s work is followed through the construction exercises and designing a project. As part of the construction exercises, the student will create a set project, either independently or in a team, under the mentorship of the teacher. The project can be set up in co-operation with an economic entity, or instructed by the teacher – in both cases in accordance with the “Drafting and Evaluation Guidelines for Structural Training Projects”. When defining a project task, each individual functionality of the required software solution needs to be defined, and also which percentage of the required functionality is involved in the overall project task solution, which will be the basis for the evaluation. For the design of the project, the student has 45 hours of work under the mentorship of the teacher, obligatory in the laboratory, and an additional 70 hours for independent work on a project that he/she can work on in the lab, in the workplaces of an economic entity or independently at home. In the first five weeks, the student will work 8 hours a week together with the teacher and 12 hours per week independently, which will complete a total of 40 + 60 hours. These lessons should be arranged so that the student works in a similar way to real-sector development engineers – he/she will have as many “shorter” consultative meetings as possible to discuss the specific issues the student is encountering, the paradigms that can lead to their solution, comment on various possible solutions and draw up project development plans. Such mentoring will enable continuous monitoring of student work during project development. During the project work, it is desirable to use various aids and services that the student will certainly use in his later engineering work (e.g. www.stackoverflow.com). Students who successfully develop a project can access the completion of construction exercises. Completing construction exercises: For the last two weeks, 5 hours of student work under the mentorship of teachers and 10 hours for independent work of a student in the laboratory, in the workplaces of an economic entity or at home are foreseen. Examination of the project that has been created during construction exercises will be performed as a real-time program acceptance process during which the teacher and the student will first determine if the project has all the required functionalities. Based on this, the teacher will evaluate at what stage of completion is the project. At this stage, the teacher may require that certain functionalities still need to be worked on or adjusted to the specification. After that, the teacher will check the credibility of the project by analyzing the program code, commenting on the student’s way of solving a particular problem or giving the student simple requirements for changes that the student will perform under mentoring and in the presence of the teacher. The student who completes the construction exercises automatically passes the exam. The grade is formed as follows: · • a student whose project has 91% -100% of the required functionality and who shows that he/she is supreme in all segments of the program code, gets an excellent score, · • a student whose project has 81% -90% of the required functionality and who shows that he/she is supreme in all segments of the program code, gets a very good rating, · • a student whose project has 61% -80% of the required functionality and who shows that he/she is supreme in all segments of the program code, gets a good rating, · • a student whose project has 50% -60% of the required functionality and who shows that he/she is supreme in all segments of the program code, gets a sufficient rating. ·
After completing the course, students who did not pass the exam through construction exercises but previously obtained the right for the signature will be able to access the oral exam.
Passing an oral exam: Oral exams are done on a computer in the lab and involve independently solving a smaller program task using all available aids, as faithfully as possible simulating a situation in a real-life development environment. To pass the exam, the task must be solved satisfactorily, taking into account the most important functionalities required. The final grade is formed in the same way as during the completion of construction exercises.
|
||


