Preparatory instruction for new students

The Faculty of Computer Science and Engineering, during the period from September 18 to September 29, 2023 , will organise preparatory classes in mathematics and programming. The preparatory classes are organised to help new students follow the first-year mathematics and programming courses more easily across all study programmes. 

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 classes and practical sessions will be held each day. Classes will begin at 9:00 at the FCSE campus (the detailed timetable will be announced after candidate registration has closed). 

Math classes will be hybrid, meaning there will be in-person instruction in a faculty room, and the same class can also be attended online on the Teams platform, where you will log in with your username (your high school email address). 

Part of the programming instruction takes place in a lecture hall and part in a lab. To ensure an efficient and high-quality delivery of lab sessions, preparatory programming instruction will be conducted in person.

For the course in mathematics , a total of 40 hours is planned for the period from September 23, 2023 to September 29, 2023, while the course in programming will comprise 20 hours, during the period from September 18, 2023 to September 22, 2023. The fee for attending the course in mathematics is MKD 5,000. The fee for attending the course in programming е MKD 3,000.

Students who plan to take either of the courses (or both) must register no later than Friday, September 15, 2023, at 11 a.m. by completing the registration form. following form 

Further information about the preparatory classes is available at the following email address: podgotvitelna@finki.ukim.mk.

All students who register for the classes by the stated deadline will be notified no later than Friday, September 15, 2023 by a message sent to the email address entered in their application, informing them whether the groups have been formed and whether the classes will commence.

Brief outlines of the material covered in the preparatory mathematics and programming classes are provided below.

Details of the Mathematics Course

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. Integral rational expressions: monomials, polynomials, operations, factoring, 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.

Details of the Programming Course

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. Integrated Development Environments. Code::Blocks.
    • The concept of an algorithm. Simple algorithms and the development of example algorithms. Elements of programming environments: compiler, linker, debugger, libraries of standard functions. Code::Blocks: installation, description of the environment's interface: main window, workspace. Creating a new project and adding a source file to the project. Building and running the project.
  • Topic 2: Introduction to the C++ Programming Language
    • C++ syntax: alphabet, words, special symbols and comments. Quantities and data. Basic data types (char, int, float, double, bool). Expressions and statements in C++. Variables and their declaration. Structure of C++ programs. Operators in C++: arithmetic, assignment, increment and decrement (prefix and postfix), relational and logical operators. Input and output. Examples of simple C++ programs.
  • Topic 3: Sequential Structure; Developing Simple Programs
    • Sequential structure, a block of statements. Empty statement. Writing simple C programs.
  • Topic 4: 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 5: Iteration 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 6: One-Dimensional Arrays
    • Arrays as data structures. Declaring an array. Accessing an array element – element indices. Initializing an array. Examples of C programs using arrays.