COMPUTER PROGRAMMING
Qualification Awarded Program Süresi Toplam Kredi (AKTS) Öğretim Şekli Yeterliliğin Düzeyi ve Öğrenme Alanı
Associate (Short Cycle) Degree 2 120 FULL TIME TYÇ, TR-NQF-HE, EQF-LLL, ISCED (2011):Level 5
QF-EHEA:Short Cycle
TR-NQF-HE, ISCED (1997-2013): 48,52

Ders Genel Tanıtım Bilgileri

Course Code: 2000002039
Ders İsmi: Internet Programming II
Ders Yarıyılı: Spring
Ders Kredileri:
Theoretical Practical Labs Credit ECTS
1 2 0 2 3
Language of instruction:
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: No
Other Recommended Topics for the Course: Prior Knowledge Level: Students are expected to have a sufficient understanding of HTML, CSS, and basic JavaScript concepts in the Internet Programming I course. Therefore, a brief refresher before the course is recommended.
Type of course: Bölüm Seçmeli
Course Level:
Associate TR-NQF-HE:5. Master`s Degree QF-EHEA:Short Cycle EQF-LLL:5. Master`s Degree
Mode of Delivery:
Course Coordinator : Öğr.Gör. Yunus KURAL
Course Lecturer(s): Öğr.Gör. Yunus KURAL
Course Assistants:

Dersin Amaç ve İçeriği

Course Objectives: To ensure that they have advanced command of the JavaScript language, to teach them how to use modern JavaScript features effectively, and to acquire the competence to develop applications that can be developed with dynamic and scalable web modules created using current front-end frameworks such as Angular.
Course Content: Internet Programming structure, populer Web Technologies overview, HTML, CSS, and Framework concept.

Learning Outcomes

The students who have succeeded in this course;
Learning Outcomes
1 - Knowledge
Theoretical - Conceptual
1) Explains modern JavaScript (ES6+) features and the fundamental structure of the Angular architecture.
2) Understands the function of Angular building blocks such as component, service, module, and routing.
2 - Skills
Cognitive - Practical
1) It exchanges data with REST APIs and applies asynchronous programming techniques.
2) Develops dynamic interfaces using Angular and creates the basic SPA structure.
3 - Competences
Communication and Social Competence
Learning Competence
1) Plans and sustainably develops the application architecture for a medium-sized web interface.
Field Specific Competence
1) Integrates the principles of code readability, reusability and best practices into the developed projects.
Competence to Work Independently and Take Responsibility

Ders Akış Planı

Week Subject Related Preparation
1) Course intro, Web architecture review JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
2) ES6+ fundamentals: let/const, arrow functions JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
3) JS modular programming (import/export), scope JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
4) Asynchronous JavaScript: Promises, async/await JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
5) İleri JS: class, prototype, hata yönetimi JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
6) Fetch API ve JSON ile veri işleme JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
7) DOM manipulation, events, component mindset intro JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
8) Midterm Exam I JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
9) Angular project setup & CLI JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
10) Angular components & templates JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
11) Data binding, directives JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
12) Midterm Exam II JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
13) Angular services, DI, state handling JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
14) Angular yönlendirme yapısı JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
15) API integration with Angular HTTP Client JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)
16) Final Exam JavaScript from Beginner to Professional : Learn JavaScript quickly by building fun, interactive, and dynamic web apps, games, and pages. Laurence Lars Svekis;Maaike van Putten;Codestars By Rob Percival 2021 IEEE Xplore Digital Library Eloquent JavaScript: A Modern Introduction to Programming Marijn Haverbeke 2018 (3rd Edition) Angular: Up and Running – Learning Angular, Step by Step Shyam Seshadri 2018 (2nd Edition)

Sources

Course Notes / Textbooks: Ders Notları

İnternet Programlama II dersi kapsamında öğrencilerin modern web arayüzlerini geliştirebilmesi için JavaScript’in ileri düzey özellikleri, web bileşen mimarileri ve Angular çerçevesinin kullanımına odaklanılmaktadır. Derste ele alınan temel konular aşağıdaki gibidir:

JavaScript İleri Konular

ES6+ sözdizimi ve modern dil özellikleri

Modüler yapı (import/export)

Asenkron programlama (Promises, async/await)

DOM manipülasyonu ve olay yönetimi

Fetch API ile veri çekme

Uygulama Geliştirme Temelleri

Proje yapısının oluşturulması

REST tabanlı servislerle iletişim

Form yönetimi ve doğrulama

Web tasarımında yeniden kullanılabilirlik ve component yaklaşımı

Angular ile Arayüz Geliştirme

Angular mimarisi (components, modules, services)

Template yapı taşları ve veri bağlama (data binding)

Router yapısı ve sayfa yönlendirme

HTTP Client ile API entegrasyonu

Angular uygulamalarında best practices

Uygulama Geliştirme Çalışmaları

Bileşen tabanlı arayüz tasarımı

API’dan veri tüketen dinamik ekranlar

Küçük ölçekli SPA (Single Page Application) geliştirme

Öğrencinin dönem boyunca geliştireceği proje uygulaması
References: Robbins, Jennifer Niederst. Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Graphics. O’Reilly Media, 2012.

Robbins, Jennifer Niederst. Learning Web Design: A Beginner’s Guide to HTML, CSS, JavaScript, and Web Graphics (4th/5th Edition içerikleri de ders destek materyali olarak kullanılmaktadır).

Ek / Yardımcı Kaynaklar
3. Theisen, K.J. Programming languages in chemistry: a review of HTML5/JavaScript. Journal of Cheminformatics 11, 11 (2019). https://doi.org/10.1186/s13321-019-0331-1
4. Angular Resmî Dokümantasyonu – https://angular.dev
5. MDN Web Docs – JavaScript, HTML, CSS Referansı – https://developer.mozilla.org/

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

4

5

6

Program Outcomes
1) Possesses fundamental, up-to-date, and practical knowledge related to their profession.
2) They are knowledgeable about occupational health and safety, environmental awareness, and quality processes.
3) Keeps up with current developments and applications in their profession and uses them effectively.
4) Effectively uses information technologies (software, programs, animation, etc.) related to their profession.
5) Possesses the ability to independently evaluate professional problems and issues using an analytical and critical approach and to propose solutions.
6) Can effectively present their thoughts in writing and verbally at the level of knowledge and skills, and express them clearly.
7) Takes responsibility as a team member to resolve complex and unforeseen issues encountered in applications related to the field.
8) Has awareness of career management and lifelong learning.
9) The collection, application, and dissemination of data related to the field are guided by social, scientific, cultural, and ethical values.
10) Uses a foreign language to keep up with developments in their field and communicate with colleagues.
11) It creates algorithms and data structures and performs mathematical calculations.
12) Explains and applies web programming technologies.
13) Performs database design and management.
14) Tests software and fixes bugs.

Ders - Öğrenme Kazanımı İlişkisi

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Program Outcomes Level of Contribution
1) Possesses fundamental, up-to-date, and practical knowledge related to their profession.
2) They are knowledgeable about occupational health and safety, environmental awareness, and quality processes.
3) Keeps up with current developments and applications in their profession and uses them effectively.
4) Effectively uses information technologies (software, programs, animation, etc.) related to their profession.
5) Possesses the ability to independently evaluate professional problems and issues using an analytical and critical approach and to propose solutions.
6) Can effectively present their thoughts in writing and verbally at the level of knowledge and skills, and express them clearly.
7) Takes responsibility as a team member to resolve complex and unforeseen issues encountered in applications related to the field.
8) Has awareness of career management and lifelong learning.
9) The collection, application, and dissemination of data related to the field are guided by social, scientific, cultural, and ethical values.
10) Uses a foreign language to keep up with developments in their field and communicate with colleagues.
11) It creates algorithms and data structures and performs mathematical calculations.
12) Explains and applies web programming technologies.
13) Performs database design and management.
14) Tests software and fixes bugs.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Alan Çalışması
Anlatım
Beyin fırtınası /Altı şapka
Course
Homework
Soru cevap/ Tartışma

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Sözlü sınav
Homework
Uygulama
Bilgisayar Destekli Sunum

Assessment & Grading

Semester Requirements Number of Activities Level of Contribution
Midterms 2 % 60
Semester Final Exam 1 % 40
total % 100
PERCENTAGE OF SEMESTER WORK % 60
PERCENTAGE OF FINAL WORK % 40
total % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Activities Number of Activities Duration (Hours) Workload
Course Hours 14 2 28
Study Hours Out of Class 14 2 28
Midterms 2 10 20
Final 1 10 10
Total Workload 86