СУ ”Св. Климент Охридски”

У Ч Е Б Н А   П Р О Г Р А М А

По дисциплината: 	Интернет програмиране с Java
Образователно-квалификационна степен:	бакалавър
Факултет: 	ФМИ
Катедра:	Информационни технологии
Форма на обучение : 	редовно
Лекции: 	4 часа седмично
Упражнения: 	2 часа седмично
Web site: 	http://inetjava/sourceforge.net

София, 2002 година

Интернет програмиране с Java

Едносеместриален изборен курс (4+0+2) за студенти от ФМИ

Преподавателски екип:

Светлин Наков
http://www.nakov.com

дем. Николай Недялков
http://www.nedyalkov.com

дем. Борис Червенков
е-mail: boris {-at-} abv.bg 

дем. Райчо Минев
е-mail: raicho {-at-} egvrn.net

Анотация:

Курсът “Интернет програмиране с Java” е предназначен за студентите от всички курсове, специалности и специализации във ФМИ на СУ, които се интересуват от програмиране на Java и разработка на интернет-ориентирани приложения. Студентите ще бъдат запознати със следните технологии:
•	Socket програмиране – разработка на Java приложения, които комуникират по интернет/интранет по протоколите TCP/IP – chat клиент/сървъри, web сървъри, proxy и forward сървъри, mail клиент/сървъри и др.
•	Java аплети – разработка на Java аплети – създаване на user interface с AWT, възможности и ограничения на аплетите, комуникация на аплети с други приложения и т.н.
•	Web-приложения – разработка на web приложения с технологиите Servlets и Java Server Pages (JSP) – въведение в HTTP протокола и web-програмирането (заявки, отговори, cookies и т.н.), сървър Tomcat, създаване и deploy-ване на web-приложения съгласно стандартите на Sun за J2EE, създаване на потребителски тагове.

Course Description:

Тhe “Internet programming with Java” course objective is to introduce the students to the base technologies in the area of Internet-oriented programming with Java:
•	Socket programming – Development of Java Internet/Intranet applications that communicate through TCP/IP protocols – chat client/servers, web servers, proxy and forward servers, mail client/servers, etc.
•	Java applets – Creating user interface with AWT, creating Java applets, applet advantages and limitations, communication with other applications.
•	Web-applications – Web application development with Servlets and JSP (Java Server Pages) – introduction to HTTP protocol and web programming (requests, responses, cookies, etc.), using Tomcat server, creating and deploying web applications according to the J2EE standards, creating custom tags.

Изисквания към студентите:

•	Познания по езика Java – основни умения за програмиране на Java (input/output, exceptions handling, multithreading, AWT)
•	Познания по HTML
•	Владеене на английски език – повечето лекции и учебни материали ще са на английски език

Изпити и оценки:

	По време на семестъра всеки студент ще трябва да предаде 3 курсови проекта по предварително зададена от преподавателите тема. Курсовите проекти са задължителни и формират крайната оценка.

За повече информация:

	http://inetjava.sourceforge.net

УЧЕБНА ПРОГРАМА

по Интернет програмиране с Java

1.	Socket програмиране с Java

1.1.	Въведение в Internet протоколите TCP/IP. Основни мрежови концепции
1.2.	Вход/изход с Java – двоични и текстови потоци 
1.3.	Използване на многозадачност и Thread-синхронизация
1.4.	TCP сокети – клиентски и сървър сокети
1.5.	UDP и Multicast сокети
1.6.	Достъп до отдалечени ресурси чрез URL
1.7.	Достъп до ресурси през HTTPS
1.8.	Пример: Разработка на mail клиент – изпращане и извличане на e-mail по SMTP/POP3
1.9.	Пример: Разработка на chat клиент/сървър
1.10.	Пример: Разработка на forward сървър
1.11.	Консултации и дискусии относно курсов проект № 1

2.	Java аплети

2.1.	Създаване на user interface с Java. Въведение в AWT
2.2.	Създаване на Java аплети – основни концепции
2.3.	Комуникация между аплет и сървър
2.4.	Пример: Разработка на chat аплет
2.5.	Консултации и дискусии относно курсов проект № 2

3.	Web-програмиране с Java сървлети и Java Server Pages (JSP)

3.1.	Основни концепции в Web програмирането. HTTP протокол
3.2.	Сървлети. Архитектура. Пример за сървлет. Работа със сървър Tomcat
3.3.	Обработка на заявки. HTML форми. Извличане на параметри
3.4.	Жизнен цикъл на сървлета. Сесии. Cookies
3.5.	Java Server Pages. Архитектура на JSP engine
3.6.	Директиви, декларации и action-и в JSP. Използване на JavaBeans
3.7.	Служебни обекти и видимост. Използване на служебните обекти
3.8.	Обработка на изключения в JSP. Error pages
3.9.	Потребителски тагове – дефиниране и използване
3.10.	Създаване и deploy-ване на web-приложения, съгласно стандартите на Sun за J2EE
3.11.	Пример за web приложение – част 1
3.12.	Пример за web приложение – част 2
3.13.	Консултации и дискусии относно курсов проект № 3 – част 1
3.14.	Консултации и дискусии относно курсов проект № 3 – част 2

12.02.2002									Съставили:

Светлин Наков
Борис Червенков
Николай Недялков