Algoritmi
Noțiunea de algoritm, caracteristici
Date, variabile, expresii, operații
Structuri de bază (liniară, alternativă și repetitivă)
Descrierea algoritmilor (programe pseudocod)
Elementele de bază ale unui limbaj de programare (Pascal sau C sau C++, la alegere)
Vocabularul limbajului
Constante. Identificatori
Noțiunea de tip de dată . Operatori aritmetici , logici , relaționali
Definirea tipurilor de date
Variabile. Declararea variabilelor
Definirea constantelor
Structura programelor. Comentarii
Expresii. Instrucțiunea de atribuire
Citirea/scrierea datelor
Structuri de control (instrucțiunea compusă, structuri alternative și repetitive)
Subprograme predefinite
Subprograme . Mecanisme de transfer prin intermediul parametrilor
Proceduri și funcții predefinite
Tipuri structurate de date
Tipul tablou
Tipul șir de caractere – operatori, proceduri și funcții predefinite pentru: citire, afișare, concatenare, căutare, extragere, inserare, eliminare și conversii (șir ↔ valoare numerică)
Tipul înregistrare
Fișiere text
Fișiere text. Tipuri de acces
Proceduri și funcții pentru fișiere text
Algoritmi elementari
Probleme care operează asupra cifrelor unui număr într-o anumită bază de numerație
Divizibilitate . Numere prime . Algoritmul lui Euclid
Șirul lui Fibonacci . Calculul unor sume cu termenul general dat
maxim
Metode de ordonare (Metoda bulelor , inserției , selecției , numărării , interclasare , Quick Sort )
Interclasare
Metode de căutare (secvențială , binară )
Analiza complexității unui algoritm (considerând criteriile de eficiență, durata de executare și spațiu , de memorie utilizată , notația O )
Subprograme definite de utilizator
Proceduri și funcții – declarare și apel – parametri formali și parametri efectivi – parametri transmiși prin valoare, parametri transmiși prin referință – variabile globale și variabile locale, domeniu de vizibilitate
Proiectarea modulară a rezolvării unei probleme
Recursivitatea
8.1. Prezentare generală
8.2. Proceduri și funcții recursive
Metoda backtracking (iterativă sau recursivă)
Prezentare generală
Probleme de generare. Oportunitatea utilizării metodei backtracking
Metoda Greedy
Metoda Divide et Impera
Generarea elementelor combinatoriale
Permutări , Aranjamente , Combinări
Produs cartezian , [[Combinări#Alte formule și explicații matematice#Numărul de submulțimi|submulțimi]]
Grafuri
Grafuri neorientate – terminologie, proprietăți, metode de reprezentare
Grafuri orientate – terminologie, proprietăți, metode de reprezentare
Arbori – terminologie, metode de reprezentare în memorie
de scris proprietăți și dat link