Programming and programming languages

Course Code: EA1103 • Study year: I • Academic Year: 2022-2023
Domain: Electronic engineering and telecommunications • Field of study: Applied Electronics
Type of course: Compulsory
Language of instruction: Romanian
Erasmus Language of instruction: English
Name of lecturer: Corina Rotar
Seminar tutor: Liana Luminiţa Boca
Form of education Full-time
Form of instruction: Class
Number of teaching hours per semester: 70
Number of teaching hours per week: 5
Semester: Autumn
Form of receiving a credit for a course: Grade
Number of ECTS credits allocated 5

Course aims:

• Develop algorithmic thinking and skills for developing complex algorithms
• Learning basic tools for developing fundamental algorithms.
• Knowledge of different types of fundamental algorithms and their development methods.
• Use of an advanced programming language for implementing the studied algorithms.

Course Entry Requirements:

Imperative and language programming

Course contents:

  1. Introduction to computer programming. Examples of computer programs.
  2. Information coding. 
  3. Algorithms. Properties of algorithms. The description algorithms.
  4. Subalgorithms. Formal parameters, current parameters.
  5. Language description: C. Variables, predefined types.
  6. Syntactic units. Operations. Expressions.
  7. Instructions. The decisional instruction if.
  8. switch ... case instruction
  9. Repeated instructions. (while, do ... while, for).
  10. Arrays. Declaration and use of arrays.
  11. Pointers.
  12. Search methods.
  13. Sorting methods.
  14. Functions in C. Transmission of parameters.
  15. Recursion.

Teaching methods:

Lecture, conversation, exemplification, problem solving, documentation.

Learning outcomes:

• acquisition of basic and specific knowledge about the concept of fundamental algorithms; • the ability to identify the applicability of the studied algorithms in real problems; • understanding the need of using advanced methods to create efficient algorithms when addressing problems from an specific domain; • Acquiring advanced knowledge of algorithms complexity and apply efficient methods to solve different practical problems.

Learning outcomes verification and assessment criteria:

Written exams – 50%; Continuous assessment and laboratory practical works – 50%.

Recommended reading:

-, • Adriana Bîrluțiu, Maria Muntean, Ovidiu Domsa, Fundamental Algorithms, Course notes and applications, Seria Didactică, 2015., - , - , - , -
-, • Cormen T.H., Leiserson E.C., Rivest R.R., Introduction in algorithms, MIT Press, 2001., - , - , - , -
-, • Dahl O.J., Dijkstra E.W., Hoare C.A.R., Structured Programing, Academic Press, 1972., - , - , - , -