Preparatory instruction in mathematics and programming
The Faculty of Informatics and Computer Engineering is organizing preparatory courses in mathematics and programming from September 15 to September 30, 2022. The preparatory course is organized to help new students more easily follow the courses in mathematics and programming during their first year of study in all academic tracks.
The preparatory classes provide an excellent opportunity for students to identify the prior knowledge required to master first-semester courses and integrate more easily into the educational process, as well as to supplement and refresh their knowledge of mathematics and programming.
The classes will be organised provided that a sufficient number of students register to form a group for each of the two courses.
It is planned that 4 to 7 hours of lectures and exercises will be held each day. Lectures will begin at 9:00 a.m. on the FINKI campus.
The math course is scheduled for 40 hours, while the programming course will be conducted over 20 hours. The fee for the math course is 4,000 denars. The fee for the programming course is 2,000 denars.
Students who plan to take either of the courses (or both) must register no later than Tuesday, September 13, 2022, at 9:00 PM by filling out the following form. https://docs.google.com/forms/d/e/1FAIpQLSeYGiUyd1T9jIcC6QwDDPA1l-LcW9tI…
Further information about the preparatory classes is available at the following email address: podgotvitelna@finki.ukim.mk.
All students who registered to attend classes within the specified deadline will be notified by Wednesday, September 14, 2020, via a message to the email address they provided in their application, informing them whether the groups have been activated and if classes will begin.
Brief outlines of the material covered in the preparatory mathematics and programming classes are provided below.
The mathematics curriculum covers significant portions of the material studied in elementary and secondary education.
Description of the topics to be covered:
Topic 1: Basic Number Sets; Algebraic and Rational Expressions
Basic number sets. Natural numbers: review of operations and laws, prime and coprime numbers, divisibility. Number systems, decimal and binary number systems. Integers: review of operations, ordering. Rational numbers: review of operations with fractions, decimal numbers, infinite decimal numbers. Real numbers: concept, geometric representation, ordering. Algebraic and rational expressions: exponents on natural numbers, operations with powers. Intact rational expressions, monomials, polynomials, operations, factorization, LCM and GCD. Fractional rational expressions: definition and operations.
Topic 2: Linear Functions, Linear Equations and Inequalities; Systems of Linear Equations
Linear functions, linear equations and inequalities. Cartesian coordinate system in the plane. Real-valued functions: domain and range. Linear functions, behaviour and graphs. Linear equations in one unknown: solution, discussion and application. Linear inequalities in one unknown. Systems of linear equations: systems of two linear equations in two unknowns and equivalence. Methods for solving systems of two linear equations in two unknowns. Solving systems of linear inequalities in one unknown. Absolute value of a real number. Equations and inequalities involving absolute values.
Topic 3: Quadratic Equations and Inequalities; Powers and Roots
Quadratic Equations: solving a complete quadratic equation, solving an incomplete quadratic equation, discussing the solutions of a complete quadratic equation. Quadratic Function (properties and graph) and a quadratic inequality with one unknown. Powers and Roots: a power with an integer exponent, a root (concept, expanding and contracting), taking roots of products and quotients, exponentiating and rooting a root, normal form of a root, irrational expressions. Rationalizing the denominator of a fraction. A power with a rational exponent.
Topic 4: Logarithmic Functions. Trigonometric Functions
Logarithmic function, rules for logarithms, relations between logarithms with different bases. Trigonometry: trigonometric functions of an acute angle, relations among trigonometric functions of the same angle, values of trigonometric functions for some angles, solving a right triangle, definitions of the trigonometric functions (sine, cosine, tangent and cotangent) from an arbitrary angle, value of the trigonometric functions for some angles.
Topic 5: Mathematical Logic
Expressions. Operations with expressions and truth tables. Expression formulas and tautologies. Translating sentences from natural language into logical expression formulas. Expression functions: concept and solution of an expression function. Quantifiers. Axioms, theorems, proofs. Proving simple mathematical problems.
Topic 6: Sets; Combinatorics
Sets. Subsets and set equality. Operations on sets. Induction.
Combinatorics: combinations, permutations, variations. Binomial formula.
The programming classes cover significant portions of the material taught in secondary education and also include methods for mastering algorithmic concepts more easily.
Topic 1: Algorithms and Programming
An introduction to algorithms. Reviewing simple algorithms and developing example algorithms. Ways to master algorithmic concepts. Tools for beginner programming.
Topic 2: Integrated Development Environments. Code::Blocks
Programming. Elements of programming environments: compiler, linker, debugger, libraries of standard functions. Code::Blocks: installation, description of the environment's appearance: main window, workspace. Creating a new project and adding a source file to the project. Building and running a project.
Topic 3: Introduction to the C programming language
Syntax of C: alphabet, keywords, special symbols, and comments. Preprocessor and header files. Including a file with the include directive. Data types in C: basic (char, int, float, double). Expressions and statements in C. Variables and their declaration. Structure of programs in C. Operators in C: arithmetic, assignment, increment and decrement (prefix, postfix), relational, and logical operators. Input/output operations: printf and scanf. Examples of simple C programs.
Topic 4: Sequential Structure. Writing simple programs
Sequential structure, a block of statements. Empty statement. Writing simple C programs.
Topic 5: Control Structures. Selection Statements
Control statements: selection statements, repetition statements, and jump statements. Selection statements: if, if-else, and switch. Nested if statements. Examples of C programs using selection statements.
Topic 6: Loop Statements
The while statement—implementation of the while-do control structure. Examples of using the while statement. The do-while statement—implementation of the repeat-until control structure. Examples of using the do-while statement. The for statement—implementation of the for-to-step control structure. Examples of using the for statement. Jump statements: break and continue.
Topic 7: One-Dimensional Array
Arrays as data structures. Declaring an array. Accessing an array element – element indices. Initializing an array. Examples of C programs using arrays.
Topic 8*: Text Strings
Representation of character strings in C. Visual representation of memory occupied by a character string. Assigning a value to a character string. Reading and displaying character strings. Extracting a character from a character string. Modifying a part of a character string. Iterating through a string and determining its length. Some useful C functions for working with strings: strlen(), strcpy(), strcat(), and strcmp(). Examples of C programs using strings.
(* will be partially implemented, depending on the students' achievements in previous topics)