Subject description
The course first deals with basic principles of computers and computer programming. Later, it focuses on a specific programming language (JavaScript), through which a student learns the principles of data and algorithm design, coding, and testing of programs. The subject is divided into the following sections:
-Introduction:
-general principles of programming languages
-design, building, and testing computer programs
-Algorithm design:
-flowchart
-symbolic language
-a top-down approach
-divide and conquer
-backtracking
-Programming with JavaScript:
-variables
-control statements
-functions
-objects
-events
-testing and debugging
The subject is taught in programs
Objectives and competences
Students will master basics of algorithm and system approach to problem solving. They will learn skills of computer programming and testing programming solutions.
Subject is structured in a way that allows students to prepare for learning C programming language.
Teaching and learning methods
Lectures, practical demonstrations, laboratory work, individual work with advanced students, homeworks
Expected study results
After successful completion of the course, students should be able to:
-identify various components of a computer program
-explain the influence of the structuring of data to the complexity of the program code
-extract the algorithm and identify data from a computer program written in a specific programming language
develop a simple algorithm based on a list of mathematical requirements and implement it using a specific programming language
-evaluate algorithmic efficiency of a given algorithm
-build a simple application based on some given requirements
-evaluate the efficiency of a specific solution in terms of the usage of resources, correctness and reliability, user-friendliness, and maintainability
Basic sources and literature
1. I. Fajfar: Algoritmi in podatkovne strukture – Uvod za inženirje, Založba FE, 2020
2. I. Fajfar: Start Programming Using HTML, CSS, and JavaScript, CRC Press, 2016
3. Spletna stran W3 Schools (www.w3schools.com)
4. Mozilla Developer Network (developer.mozilla.org)
5. John Pollock: JavaScript: A Beginner's Guide, Osborne McGraw-Hill, 2009