Skip to content

Programming 1

Public syllabus for 2025-2026

Academic overview

Programme
AI
Period
Year 1, Semester 1
Credits
6
Weeks
14

Curriculum placement

Appears in study plans

Teaching team

Course coordinator
(none)
Seminar coordinators
(none)

Learning time distribution

Total
Curriculum Lecture Practice Total Weekly Lecture Practice
56 28 28 4 2 2
Exam hours
4
Individual Study Bibliography study Field study Homework Tutoring Others
94 24 24 38 4 0
Overall
150

Learning outcomes

Knowledge

  • C1 - fundamente informatică & matematică
  • C2 - structura și funcționarea unui sistem de calcul
  • C3 - analiză/proiectare/implementare sisteme informatice

Skills

  • A2 - utilizare sis. de fișiere, gestionare procese
  • A3 - identificare, implementare alg.
  • A4 - utilizare medii/instrumente/platforme de programare

Responsibility

  • R1 - rezolvare autonomă sarcini
  • R2 - identificare soluții, idei inovative
  • R3 - planificare eficientă sarcini
  • R4 - gestiune eficientă resurse
  • R5 - asumare sarcini, respectare etică
  • R6 - adaptare la noi cerințe

Online platform

(none)

Course content

Content Methods Obs
What is computer Science? Hardware basics. Programming languages. Python programs. Data types in Python, Operators, Expressions, Assignments, Conditional Statements. Elements of Program: names, expressions. Interpreted languages vs compiled languages Lectures, illustration, demonstration 2h
2-3.Software development process. Loops: for, while, break, continue. Data structures and sequences: list, tuples, dictionaries, set. Idea of aliasing, idea of mutability, idea of cloning. Lectures, illustration, demonstration 4h
4.Unstructured programming -> Procedural Programming (decomposition, abstraction). Functions. Function parameters. Functions call. Function context call. Local variables. Global Variables Lectures, illustration, demonstration 2h
5.Modules. Program documentation. Metaprogramming - python feature. Strings. Regular expressions. String tokens. Python string operation. Searching a substring into a string – brute force algorithms. String matching a pattern. Introduce regex – usage examples -> extract tokens from a string Lectures, illustration, demonstration 2h
6. Testing and debugging the programs. Exceptions. Testing, inspection and debugging programs. Black box vs white box testing. Unit testing, integration testing. Automate testing, PyUnit. Debugging. Exceptions. Assert, code coverage Lectures, illustration, demonstration 2h
7. Study case (live design and coding based on problems proposed by the audience). Project description announcement Lectures, illustration, demonstration 2h
8-9. Files. Text files reading and writing. Binary files reading and writing. Files and operating system (checking file existence, getting directory listing, creating directories). Structure information in text files CSV, JSON, XML. Object serialization. CRUD operations on data entity. Lectures, illustration, demonstration 4h
10. Abstract data types. Classes. Objects. Modular Programming -> Abstract Data Types. Classes. Objects. Constructors. Member methods. Data and Methods visibility (public & private). Information hiding. Operator overloads Lectures, illustration, demonstration 2h
11. Interaction between objects. Inheritance. Dependence. Aggregation. Composition. Lectures, illustration, demonstration 2h
12. Refactoring. Polymorphism Lectures, illustration, demonstration 2h
13. Study case (adapting previous study case with files and object-oriented concepts) Lectures, illustration, demonstration 2h
14. Recap Lectures, illustration, demonstration 2h

Course bibliography

John Zelle, Python Programming: An Introduction to Computer Science MIT, Introduction to computer science - course Mark Lutz - Learning Python, 5th Edition Powerful Object-Oriented Programming Mark Summerfield - Programming in Python 3 (Second Edition) A Complete Introduction to the Python Language

Seminar content

Content Methods Obs
Lab 1: Simple Expressions. Conditional Statements Problem solving, questioning, dialogue 2h
Lab 2-3: Loops. Lists. Matrices. Tuples. Sets. Maps Problem solving, questioning, dialogue 4h
Lab 4: Strings Problem solving, questioning, dialogue 2h
Lab 5: Lab Test Problem solving, questioning, dialogue 2h
Lab 6: Functions Evaluation 2h
Lab 7: Debug, Exceptions, Assertions Problem solving, questioning, dialogue 4h
Lab 8-9: Files Problem solving, questioning, dialogue 4h
Lab 10: Lab Test Problem solving, questioning, dialogue 2h
Lab 11-12: Classes and objects. Problem solving, questioning, dialogue 4h
Lab 13: Inheritance and composition. Problem solving, questioning, dialogue 2h
Lab 14: Recap Problem solving, questioning, dialogue 2h
Bibliography: same as for course

Seminar bibliography

The course content covers commonly used practices used for development of software applications for medium to large size industries projects. A high mark on this grade (>=80%) demonstrates the independence to solve a problem in an efficient and extensible manner, as well as to test its behaviour and justify the implementation process. These skills can help a student pass most interviews for a summer internship on the local and national software development labor market.

Corroboration

(none)

AI tools guidance

(none)

Evaluation and delivery

Activity Criteria Methods Percentage
C
  • Theoretical Examination
  • Open answer questions. Problem modeling and solving
  • 30.0%
S
  • Laboratory tests
  • Oral examination. Problem solving
  • 70.0%

Performance standards

Knowledge of basic principles of programming. Knowing the structure of a computer program. The final mark is calculated as the weighted mean of the marks presented in section 9. The subject is passed if the final mark is greater or equal to 5 and the exam mark (9.4) is greater or equal to 5.

Additional info

Important!! To be eligible for the written exam (final exam, in the exam sessions A-I, B-I, C) the student must have grades for the Lab Tests (9.5) which average to a mark >= 5 at the end of the semester. Tests can only be taken once. If a student does not meet the above requirement, it means he/she has not met the minimum required activity for this course. Conform with university regulations, this means that this subject must be re-contracted next year. If the above requirements are met but the final exam is failed, the student should only apply for re-examination.