Skip to main content

Fundamentals of Client-Side Programming LanguagesLaajuus (5 cr)

Code: 4A00HH94

Credits

5 op

Objectives

The aim of the course is to introduce students to selected modern implementation techniques and methods for browser-based language and to provide practical training in their use, equipping them with strong basis for creating browser-based applications.

Upon completing the course, the student:
• Can create and maintain project structures, understanding the significance of project management in software development.
• Masters the principles of code quality assurance, utilizing tools to detect errors and enforce coding standards.
• Understands the language fundamentals, including syntax, variables, data types, and basic constructs, strengthening their foundation for writing quality code.
• Develops the ability to utilize objects and functions, efficiently encapsulating data structures and functionalities.
• Understands and applies asynchronous programming, mastering event-driven programming patterns and managing asynchronous operations.
• Deepens their understanding of object-oriented programming principles, including concepts of objects, classes, and inheritance, and applies them in practical programming tasks.
• Handles modules, promoting code modularity and reusability, enhancing the maintainability and extensibility of software.
• Analyzes and applies concepts of inheritance and the prototype chain, building a strong understanding of object relationships and property inheritance in software development.

Content

The course focuses on general software development principles and practices, including:

• Project management and maintenance.
• Code quality assurance and adherence to standards.
• Core structures and paradigms of the programming language.
• Code modularization, reusability, and maintainability.
• Fundamentals and practices of asynchronous programming.
• Key concepts and design principles of object-oriented programming.

Prerequisites

Introduction to Programming
Web Technology and Digital Graphics

Assessment criteria, satisfactory (1-2)

The student can thoroughly use the syntax and structures of the taught programming language. They understand the fundamental concepts of modules, objects, and functions and can implement simple asynchronous functions. The student demonstrates basic skills in code quality assurance and project management.

Assessment criteria, good (3-4)

The student masters advanced features of the taught programming language and has a deeper understanding of asynchronous programming principles. They can seamlessly apply object-oriented programming principles and modular programming, ensuring efficient code reuse and maintainability. The student demonstrates the ability to apply code quality assurance methods in complex environments and handles project management in demanding situations.

Assessment criteria, excellent (5)

The student demonstrates a profound understanding of the underlying concepts and principles of the taught programming language. This understanding enables them to solve complex problems. The student effortlessly applies various programming models and techniques, mastering code quality assurance and project management at the highest level. Their deep understanding of asynchronous programming and modular design enables them to implement and optimize complex applications.