University of Prishtina, Faculty of Electrical and Computer Engineering


Internet Programming, Summer 2019


Instructor

Prof. Assoc. Dr. Lule Ahmedi
Consultation hours: Tuesday 10:30-11:00

Teaching Assistants

MSc. Valon Raça
MSc. Korab Rrmoku

Administrativia

Level: Bachelor/mandatory. ECTS credits: 6
Time/Location: Lectures Monday 8:30-10:00 (Year III); 10:30-12:00 (Year II), Classroom 621

Course description

This course covers Web programming at the server side, as well as the most recent advanced Web programming concepts and techniques. A preliminary list of topics covered (mostly influenced by the audience):
Basic concepts in PHP. Object-oriented PHP. PHP and regular expressions. PHP and session control, cookie-s. PHP and databases in MySQL. Asynchronous client-server communication: AJAX. Social networking. CSS3 and Mobile Web. CMS. Frameworks. MVC. API-s. Node.js. Security.

Learning outcomes

Upon completion of this course, students shall be able to:
  1. Demonstrate basic knowledge on traditional as well as recent technologies on the World Wide Web.
  2. Design and program rich Web applications at the server side including some basics of Social Web as well as mobile Web.
  3. Choose the proper architecture, model and behaviour techniques for a given Web application to best suit its domain, as well as driven by the code-reuse (configure rather then program at a whole from the scratch) paradigm in software engineering.

Syllabus

Course syllabus in Shqip (Albanian language) and in English.

Textbooks

[1]
PHP and MySQL Web Development (4th Edition). Luke Welling, Laura Thompson. Addison-Wesley Professional, 2014.
[2]
Fundamentals of Web Development. Randy Connolly, Ricardo Hoar. Pearson, 2014.
[3]
A number of resources on the Web (a Web resources file to provide updated each year to students).

Lecture slides

Week 1:
Introduction.
Week 2:
Basic Concepts in PHP.
Week 3:
PHP Arrays, Superglobals, and Working with Files.
Week 4:
PHP Strings and Regular Expressions.
Week 5:
PHP Code Re-use and Functions.
Week 6:
Object-Oriented PHP. Error and Exceptions Handling.
Week 7:
PHP and Databases in MySQL.
Week 8:
PHP Session Control and Cookie-s.
Week 9:
AJAX: Asynchronous Client/Server Communication.
Week 10:
Security in PHP.
Week 11:
Finally Code Reuse Through Desing Patterns: the MVC Concept.
Week 12:
Configuration or Programming: CMS, Frameworks like WordPress or Symfony. API-s.
Week 13:
Lifting the Web Application to Social Networks. Integration of Social Networks into the Web Application.
Week 14:
Responsive Programming for Shifting to Mobile Devices.
Week 15:
Bringing them all Together at one Place: JavaScript, PHP, and MySQL as a Case Study. Criticism. What did on the Web Succeeded to "survive" over Years? Where further with Trends? Node.js and MongoDB.