Programming 1
Public syllabus for 2025-2026
Academic overview
Teaching team
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
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
Evaluation and delivery
| Activity | Criteria | Methods | Percentage |
|---|---|---|---|
| C |
|
|
|
| S |
|
|
|
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.