COURSE INFORMATION
Course Title: WEB TECHNOLOGIES AND PROGRAMMING
Code Course Type Regular Semester Theory Practice Lab Credits ECTS
CEN 311 B 4 3 0 0 3 6
Academic staff member responsible for the design of the course syllabus (name, surname, academic title/scientific degree, email address and signature) Dr. Rrezart Bozo rrbozo@epoka.edu.al
Main Course Lecturer (name, surname, academic title/scientific degree, email address and signature) and Office Hours: Dr. Rrezart Bozo rrbozo@epoka.edu.al , Tuesday 9:45-16:30
Second Course Lecturer(s) (name, surname, academic title/scientific degree, email address and signature) and Office Hours: M.Sc. Olsi Shehu oshehu@epoka.edu.al
Language: English
Compulsory/Elective: Compulsory
Study program: (the study for which this course is offered) Bachelor in Software Engineering (3 years)
Classroom and Meeting Time: A055
Teaching Assistant(s) and Office Hours: NA
Code of Ethics: Code of Ethics of EPOKA University
Regulation of EPOKA University "On Student Discipline"
Attendance Requirement:
Course Description: Introduction to Client Side and Server Side. An overview on HTML, CSS, client-server architecture, protocols such as HTTP, tools such as web, application, database, FTP, secure shell server. Application development using scripting languages. An overview in web servers and their services, how to configure them. A knowledge on PHP Programming, PHP variables, Functions, Object Oriented Techniques and database connectivity from PHP. Understanding other scripting languages such as CGI, JSP and other server-side languages. Session management, multimedia and graphics, application security, XML. Learning how to interactively use PHP with JavaScript and AJAX.
Course Objectives: An overview in web servers and their services, and how to configure them. A knowledge on PHP Programming, PHP variables, Functions, Object Oriented Techniques and database connectivity from PHP. How to use interactively PHP with JavaScript and AJAX. Understanding other scripting languages such as CGI, JSP and other server-side languages
BASIC CONCEPTS OF THE COURSE
1 1
2 2
3 3
4 4
COURSE OUTLINE
Week Topics
1 Introduction to Web Programming- This chapter gives you a quick overview of PHP syntax and language constructs. If you are already a PHP programmer, it might fill some gaps in your knowledge. If you have a background using C, Perl, Python, or another programming language, it will help you get up to speed quickly. Pages (1-12)
2 Web Servers, PHP and HTML forms - Installing and using a “Web Server” Embedding PHP in HTML Adding dynamic content Accessing form variables Pages (13-53)
3 Storing and Retrieving Data - Key topics covered in this chapter include ■ Saving data for later ■ Opening a file ■ Creating and writing to a file ■ Closing a file ■ Reading from a file ■ Locking files ■ Deleting files ■ Using other useful file functions ■ Doing it a better way: using database management systems Pages (53-75)
4 Using Arrays - Key topics covered in this chapter include ■ Numerically indexed arrays ■ Non-numerically indexed arrays ■ Array operators ■ Multidimensional arrays ■ Array sorting ■ Array functions Pages (75 -101)
5 String Manipulation and Regular Expressions - Key topics covered in this chapter include ■ Formatting strings ■ Joining and splitting strings ■ Comparing strings ■ Matching and replacing substrings with string functions ■ Using regular expressions Pages (101-131)
6 Object-Oriented PHP, File and Error Handling - This chapter explains concepts of object-oriented (OO) development and shows how they can be implemented in PHP.In this chapter, we explain the concept of exception handling and the way it is implemented in PHP. Exceptions provide a unified mechanism for handling errors in an extensible, maintainable, and object-oriented way Pages (159-209)
7 OBJECT ORIENTED PHP DESIGNING YOUR WEB DATABASE - Now that you are familiar with the basics of PHP, you can begin looking at integrating a database into your scripts. Pages (209-247)
8 Midterm
9 Working with Your MySQL Database - In this chapter, we discuss Structured Query Language (SQL) and its use in querying databases. You continue developing the Book-O-Rama database by learning how to insert, delete, and update data, and how to ask the database questions. Pages (247-271)
10 Accessing Your MySQL Database from the Web with PHP - Key topics covered in this chapter include ■ How web database architectures work ■ Querying a database from the web using the basic steps ■ Setting up a connection ■ Getting information about available databases ■ Choosing a database to use ■ Querying the database ■ Retrieving the query results ■ Disconnecting from the database ■ Putting new information in the database ■ Using prepared statements ■ Using other PHP-database interfaces ■ Using a generic database interface: PDO Pages (271 - 314)
11 Building Web Applications - How to use PHP build in functions to do the same things as PDO. (out fo book, a real world example)
12 Web Application Security Risks - In this chapter we look at application security, within the broader theme of securing an entire web application. Indeed, every single part of our web applications will need to be secured from possible misuse (accidental or intentional), and we will want to develop some strategies for developing our application that will help us stay secure. Pages (331-379)
13 Using PHP and MySQL for Large Projects - Key topics covered in this chapter include ■ Applying software engineering to web development ■ Planning and running a web application project ■ Reusing code ■ Writing maintainable code ■ Implementing version control ■ Choosing a development environment ■ Documenting your project ■ Prototyping ■ Separating logic, content, and presentation: PHP, HTML, and CSS ■ Optimizing code Pages (561-599)
14 Team projects developed during this course will be presented
Prerequisite(s): CEN 222, CEN 111
Textbook(s): PHP and MySQL: Web Development, 5th Edition, Luke Welling & Laura Thomson, Addison-Wesley 2016
Additional Literature: 1) Sams Teach Yourself PHP, MySQL & JavaScript All in One, Sixth Edition, Julie C. Meloni, Pearson 2018 2) PHP Cookbook, 2nd Edition, 2009, Adam Trachtenberg and David Sklar, O’Reilly 3) Intro to Java Programming, 10th Edition, Y. Daniel Liang, 2015
Laboratory Work: Yes
Computer Usage: Yes
Others: No
COURSE LEARNING OUTCOMES
1 Being able to design and implement server-side applications using PHP, MySQL, HTML, CSS
2 Understanding the difference of programming techniques and languages available to build a web application
3 To have the knowledge to critically analyze and evaluate web applications and protocols
4 Using PHP and MySQL for Large Projects
5 Using JavaScript for better UI
COURSE CONTRIBUTION TO... PROGRAM COMPETENCIES
(Blank : no contribution, 1: least contribution ... 5: highest contribution)
No Program Competencies Cont.
Bachelor in Software Engineering (3 years) Program
1 Engineering graduates with sufficient theoretical and practical background for a successful profession and with application skills of fundamental scientific knowledge in the engineering practice. 5
2 Engineering graduates with skills and professional background in describing, formulating, modeling and analyzing the engineering problem, with a consideration for appropriate analytical solutions in all necessary situations 5
3 Engineering graduates with the necessary technical, academic and practical knowledge and application confidence in the design and assessment of machines or mechanical systems or industrial processes with considerations of productivity, feasibility and environmental and social aspects. 5
4 Engineering graduates with the practice of selecting and using appropriate technical and engineering tools in engineering problems, and ability of effective usage of information science technologies. 5
5 Ability of designing and conducting experiments, conduction data acquisition and analysis and making conclusions. 4
6 Ability of identifying the potential resources for information or knowledge regarding a given engineering issue. 4
7 The abilities and performance to participate multi-disciplinary groups together with the effective oral and official communication skills and personal confidence. 4
8 Ability for effective oral and official communication skills in foreign language. 2
9 Engineering graduates with motivation to life-long learning and having known significance of continuous education beyond undergraduate studies for science and technology. 4
10 Engineering graduates with well-structured responsibilities in profession and ethics. 4
11 Engineering graduates who are aware of the importance of safety and healthiness in the project management, workshop environment as well as related legal issues. 4
12 Consciousness for the results and effects of engineering solutions on the society and universe, awareness for the developmental considerations with contemporary problems of humanity. 5
COURSE EVALUATION METHOD
Method Quantity Percentage
Homework
1
5
Midterm Exam(s)
1
20
Project
1
20
Lab/Practical Exams(s)
5
1
Final Exam
1
50
Total Percent: 100%
ECTS (ALLOCATED BASED ON STUDENT WORKLOAD)
Activities Quantity Duration(Hours) Total Workload(Hours)
Course Duration (Including the exam week: 16x Total course hours) 16 4 64
Hours for off-the-classroom study (Pre-study, practice) 16 2 32
Mid-terms 1 6 6
Assignments 5 2 10
Final examination 1 7 7
Other 1 6 6
Total Work Load:
125
Total Work Load/25(h):
5
ECTS Credit of the Course:
6
CONCLUDING REMARKS BY THE COURSE LECTURER