ITI 1100 Digital Systems I (3 units)

Digital computers and information. Number systems and alphanumeric codes. Binary arithmetic. Boolean algebra. Logic functions representation, minimization and realization. Analysis, design and implementation of combinational circuits. Basic sequential circuits. Latches and flip-flops. Analysis and design of simple sequential circuits. Registers and counters. Implementation of digital circuits.

Course Component: Discussion Group, Laboratory, Lecture

ITI 1120 Introduction to Computing I (3 units)

Problem solving and algorithm design. Basic principles of software engineering: structure decomposition, documentation, testing and debugging. Variable types, expressions and assignment. Conditional and iterative control structures. Modules and parameter passing. Recursion. Fundamental data structures: arrays, strings, matrices, records. Introduction to objects. Includes examples of applications in various disciplines, including engineering.

Course Component: Laboratory, Lecture

The courses ITI1120, GNG1106, CSI1306, CSI1308, CSI1390 cannot be combined for credits.

ITI 1121 Introduction to Computing II (3 units)

Object-oriented programming. Abstraction principles: information hiding and encapsulation. Linked lists, stacks, queues, binary search trees. Iterative and recursive processing of data structures. Virtual machines.

Course Component: Laboratory, Lecture

Prerequisite: ITI 1120.

ITI 1500 Systèmes numériques I (3 crédits)

Ordinateurs numériques et information. Systèmes de numération et code alphanumériques. Arithmétique binaire. Algèbre de Boole. Représentation, minimisation et réalisation de fonctions logiques. Analyse, conception et implémentation de circuits combinatoires. Circuits séquentiels de base. Circuits à verrouillage et bascules. Analyse et conception de circuits séquentiels simples. Registres et compteurs. Implémentation de circuits numériques.

Volet : Laboratoire, Cours magistral, Tutoriel

ITI 1520 Introduction à l'informatique I (3 crédits)

Résolution des problèmes et conception d'algorithmes. Principes de base du génie logiciel: décomposition, documentation, tests et correction. Types de variables, expressions et affectation. Contrôle conditionnel et itératif. Modules et passage de paramètres. Récursivité. Structures de données fondamentales : tableaux, chaînes de caractères, matrices et enregistrements. Introduction aux objets. Applications aux diverses disciplines, incluant le génie.

Volet : Laboratoire, Cours magistral

ITI 1521 Introduction à l'informatique II (3 crédits)

Programmation orientée objet. Principes d'abstraction: masquage et encapsulation. Listes chaînées, piles, files, arbres de recherche binaires. Traitement itératif et récursif des structures de données. Machines virtuelles.

Volet : Laboratoire, Cours magistral

Préalable : ITI 1520.