Courses



Reading and analyzing parts and drawings; Representation of technical drawings using Autocad software as a working tool; Analysis of parts, landmarks and their representation in orthogonal projection;

Improvement of basic motor skills (strength, speed, stamina, endurance, dexterity); acquisition and reinforcement of basic technical elements and procedures in athletics, gymnastics, applied sports; learning basic notions from the rules of sports games (volleyball, basketball, handball, gymnastics) for organizing and conducting various competitions; stimulating students' interest in systematic and independent practice of physical exercise individually and collectively on a daily or weekly basis; creating the habit of observing the rules of sports hygiene and accident prevention; developing the capacity for self-defense and self-development.

The Electrical Engineering course aims at learning the concepts necessary to model, simulate and analyze electrical circuits related to electrical and electronic systems. To this end, theoretical presentations on terminology, notations and symbols of the theory of electrical circuits, the laws and theorems of the theory, will be interspersed with: calculation applications to acquire the necessary skills to analyze circuits in different operating modes (direct current, alternating current, periodic mode, general variable mode), the use of software tools (circuit simulators) for this analysis and the performance of real experiments to acquire some minimal skills to measure the electrical current and voltage, using analog/digital measuring instruments or oscilloscope. Connections of this subject with other subjects in the program will be highlighted: graph theory, numerical methods, data structures, systems theory, electronics.

Understanding and solving elementary problems of complex numbers, complex functions, complex integrals, residues and residue theorem, integral transformations (Fourier, discrete Fourier, Laplace, discrete Laplace).Assimilation of elementary concepts in probability theory and mathematical statistics (probability function, probability schemes, discrete and continuous random variables, mean and dispersion of a random variable, random vectors, strings of random variables, elements of selection theory, confidence intervals, statistical hypothesis testing).

The general objective of the practical course (seminar) of English Language 2 is the development of the students' communicative competence in English, with an emphasis on the development of the four communication skills: listening, writing, reading and speaking, which are developed on the basis of the adequacy of grammatical and lexical support appropriate to the level expected. The teaching of this subject has secondary objectives: the ability to discuss one's professional life, work schedule, work styles, aspirations, career plan, using the specific vocabulary of English for professional communication; the ability to communicate in writing through short documents, according to academic usage, using specific formulas and structures, and respecting an appropriate register of formality.

The subject is optional and is addressed to Computer Engineering students. The general objectives of the subject are: to acquire the fundamental concepts necessary for the numerical and computational study of physical phenomena, to understand the context in which the analytical approach to physical problems becomes difficult or impossible, and to develop practical skills in the application of numerical methods for the simulation of physical processes.

Understanding and learning to use the fundamental laws of physics in the study of mechanical, thermal, electromagnetic phenomena, as well as the behavior of quantum systems; Initiation in the techniques of measurement and statistical analysis of experimental results; Understanding the relationship between theory and experiment; Developing the skills of measuring physical quantities specific to the phenomena studied; Developing practical skills of analytical and graphical processing of experimental data and evaluation / interpretation of results.

Familiarization with Unix family operating systems; Efficient use of the command line; Obtaining troubleshooting skills for computer system problems; Obtaining documentation skills, searching for information and applying the solution.

The course aims at acquiring knowledge in the field of data modeling using the concept of abstract data type (ADT), with reference to fundamental types:, manifolds, lists, stacks, queues, trees, graphs.

For the course: creation, analysis and implementation of algorithms for solving problems in continuous mathematics; Complexity analysis, error analysis and propagation, problem conditioning and numerical stability of numerical algorithms; Presentation of classical and modern numerical methods for solving scientific and engineering problems; Choice of the most appropriate numerical methods for a given problem. For applications: Using the basic concepts of the Matlab language to implement numerical algorithms and methods; Designing, strengthening, executing and debugging numerical methods in Octave (open-source implementation for Matlab); Using vector operations; Using control statements; Creating structured code using functions; Writing applications with files; Creating applications that optimize memory access as well as stored memory.

The PCLP2 course aims to develop the ability to thoroughly understand the operation of a program from the highest to the lowest level. The main role of the course is to provide an overview of the computing system and a holistic perspective on a program. These insights will facilitate the investigation, understanding and debugging of programs.The secondary role is to impart knowledge and skills in working with memory, assembly languages, computing architectures, program security, etc.

The course Applied Informatics 3 (Computer Tools) aims to provide basic knowledge on the use of computer tools for the generation, manipulation and presentation of scientific documents using text editors, spreadsheets and word processors. It will also discuss topics of interest related to the creation of web pages by learning introductory notions of HTML, basic knowledge of annotation languages, as well as structuring data in XML/JSON files and their validation using specific languages through concrete practical examples from engineering fields. The main role is to provide students with competences appropriate to the needs of today's qualifications, a scientific and technical preparation corresponding to the bachelor level, allowing them to enter the job market quickly after graduation, and the possibility to continue their studies through master and doctoral programs.

Forming a responsible attitude towards professional development for the teaching career and quality assurance in education; Knowledge of the fundamental issues concerning the concepts, forms, dimensions and directions of educational development; Analyzing the role of education in the development of the student's personality; Understanding the usefulness of education as a permanent process, realized throughout life; Knowledge of the main educational alternatives in the Romanian education system; Understanding the usefulness of pedagogical research from the perspective of quality assurance in education; Analyzing the particularities of educational management and the school as a learning organization; Forming general and systematic representations of the aims of education and curriculum, their complexity and interdependence; Knowledge and understanding of models of curriculum analysis and types of curriculum; Forming the ability to critically analyze school documents in technological subjects.

At least minimal knowledge of the conceptual apparatus in the field of psychology; Identification of theoretical data in determining the psychological processes and personality traits of those involved in the educational process (students and teachers); Determination of the structure of school learning by types of learning; Identification of the possibilities of individual and group stimulation of creativity in students; Determination of the psycho-pedagogical profile of each age in the period of personality formation.

Course: giving presentations on historical topics by various faculty members. Laboratory: various topics (beautifying the Linux terminal, brief introduction to Python, git, etc.).

The course aims at learning the techniques of structured programming, knowledge of elementary data types and operations with this data, familiarization with the main instructions, knowledge of how to use a programming environment, modular programming, by defining and using functions, mastering the correct use of pointers, vectors, strings, presentation of some classical programming problems. In terms of applications, we aim to use basic programming language concepts to create applications, design, consolidate, execute and debug programs, use variables ,arrays, strings and files, use control statements, use iteration and recursion, use pointers to access arrays and variables, create structured code using functions, create abstract data types, write file-based applications, create C applications consisting of multiple source files.

The course presents the concepts of linear algebra, analytic geometry, differential equations, necessary for the specialized disciplines in the fields of Computer Science and Information Technology: numerical methods, design and analysis of linear models in signal and systems theory, networks, digital images, data compression, artificial intelligence (machine learning, data mining), computer graphics. Students will encounter and solve problems with direct applications in computer science (data compression, principal component analysis in image recognition, q-bits and quantum computations, Markov chains, PageRank algorithm, resonance phenomenon).

Mathematical Analysis is a fundamental discipline, necessary for any specialized engineering training, in particular for Computer Science and Information Technology. Students will become familiar with the basic concepts of Mathematical Analysis such as convergence, continuity, approximation, integrals, power series and will encounter applications of these concepts in a number of areas both in Computer Science (creating graphs or images, simulations, problem solving applications, coding in applications, creating statistical solutions and designing and analyzing algorithms) and in Physics (calculating mechanical work, the center of gravity and mass of a material wire or a material surface, the volume of a body, moments of inertia, etc.).

The course is aimed at acquiring skills to use the computer and operating system effectively. Spending as much time as possible creatively and as little time as possible on petty things. Using the best means to the professional goal required. The primary role is to impart skills (understanding how the system works, use of documentation, use of best means, efficiency) and a practical and engineering way of thinking and approach, enjoyment of exploring and understanding.The secondary role is to impart knowledge in the area of (operating) systems: files/storage, processes, security/permissions, networking, hardware/architectures.

Logic design aims to acquire knowledge of digital circuits and to train practical skills for the analysis and synthesis of digital circuits of medium complexity. Objectives include: Acquisition of basic knowledge of digital signals, Boolean algebra and logic minimization techniques;Knowledge of the most important families of combinational logic circuits, the sources of delays in combinational circuits and the effects on their operation and performance;Knowledge of the most important families of sequential logic circuits, the timing of these circuits;Analysis and design of complex sequential circuits; Acquiring the knowledge and skills to design logic circuits, automatic state machines, microprogrammed control units;Acquiring the ability to use the acquired knowledge in practical examples;Acquiring the basic skills to realize a technical project;Designing, within a complex homework, a sequential automaton based on a technical specification.

The general objective of the practical course (seminar) of English Language - L1 is to develop students' communicative competence in English. The four fundamental components are considered: listening, writing, reading and speaking, which are developed on the basis of the appropriateness of the grammatical and lexical support corresponding to the level expected. The teaching of this subject has secondary objectives: the ability to use in real contexts appropriate communicative situations of simple or phraseological units that incorporate cultural and civilizational connotations, the ability to understand, respect and adapt to cultural differences in various intercultural working environments.

By participating in Physical Education lessons, the aim is to maintain an optimal state of health of students practicing physical exercise, in order to increase their potential for work in their daily activities. To develop basic motor skills and those specific to certain branches of sport. Forming the habit of continuous physical exercise in leisure time. Cultivation of fair-play attitude, efficient and disciplined behavior.

The course aims to introduce notions of mathematical logic that constitute tools for approaching different phenomena in computers and information technology. Also, to lay the foundations of a logical-mathematical thinking necessary for future engineers and to make connections between prior knowledge and newly acquired knowledge.

Training communication skills and stimulating communication behavior. Practicing speech and dialog.

Analysis of classic texts for the Western tradition of thought; Assimilation of fundamental concepts for understanding the development of computer science and cognitive science; Ability to explain in a coherent way one's own philosophical conceptions; Assimilation of conceptual tools necessary for the development of critical thinking.

Upon successful completion of this subject, students will be able to: explain the choice of how to address the consumer; describe the constituent elements of the marketing mix; appropriately use elements of marketing research; calculate various indicators of the company's market and the product market.

Upon successful completion of this subject, students will be able to: explain the choice of how to address the consumer; describe the constituent elements of the marketing mix; appropriately use elements of marketing research; calculate various indicators of the company's market and the product market.

After completing the Computer Systems Architecture course, students will be able to: Describe the computing systems they work on using PMS primitives; Identify the class to which the computing systems encountered belong; Implement efficient algorithms in terms of performance and memory usage on SIMD and MIMD computing structures; Describe and implement a switching network for connecting resources in a parallel computing system; Be able to choose the optimal benchmark for testing a computing system; Be able to port code and program applications for architectures with heterogeneous or special processors (GP-GPU); Be able to analyze the correctness, efficiency and performance of programs; Be able to write applications with support for vector computing.

The course aims to explore hardware and software reliability, from secure application development to the theory behind system availability.

For the course: Understanding the specifics and challenges of each software development activity; Understanding the advantages, disadvantages and challenges of various software life cycle models; Understanding the complexity of software development on an industrial scale; Specifying the requirements of a software project; Acquiring software systems modeling practices using UML (Unified Modeling Language); Familiarizing with software design practices and reuse based on design patterns; Acquiring theoretical and practical knowledge of program verification and validation, especially those based on testing; Acquiring basic knowledge regarding the quality of software products. For applications: Training the skills of identifying and using appropriate practices for the development of medium and high complexity software systems.; Familiarizing students with UML modeling techniques; Familiarizing students with the use of a software dedicated to teamwork (SVN); Acquiring the basic experience necessary for user requirements analysis, software requirements and architectural design activities; Acquiring basic experience in developing requirements specification documents and architectural design; Acquiring practical experience in developing a medium-complexity software application, in a team, from requirements specification to delivery, approximating in the academic environment the software development conditions encountered in the industry.

The objective of the course is to provide students with the necessary knowledge for a thorough understanding of the field of databases and the tools for working with them, as well as to develop practical skills in the field.

The course and laboratory/project will cover the following topics: Functional units, Internal resources, External communication, Instruction cycle, Machine cycle, Interrupt operation, Synchronization with external logic. Emphasis is placed on the design of structures (motherboard) based on 16/32 and 64-bit processors.

Knowledge of the notions, concepts and theoretical approaches of management as a process and as a systematic activity in general and of the management of the student class, in particular; Capturing the general and specific elements of the management of education and teaching processes and units; Identifying the managerial skills of the teaching staff involved in the educational process; Identifying the types of relationships within the student class; Describing the relationships between managerial styles and the classroom climate.

General knowledge of the applied school. Knowledge of the techniques for creating the psycho-pedagogical characterization sheet; Description of the types of assisted teaching activities.

Using the computer in learning activities; Operating with entities specific to the field of knowledge; Analyzing and selecting appropriate programs (software); Acquiring notions related to methods and technologies for delivering learning content; Developing communication skills and abilities using new technologies; Acquiring the skills necessary to design and implement assessment forms using information technologies; Integrating educational game software into current school activities; Transferring and applying IT acquisitions to the development of the institution.

The Local Computer Networks course aims to acquire skills in configuring, diagnosing and securing a local computer network. More specifically, the course aims to: Familiarize yourself with the fundamental concepts related to local area networks; Learn how to configure various network equipment; Learn the skills necessary to troubleshoot and secure networks.

The course presents the elements of the theory of automata and formal languages, computability with the Turing Machine. The main objective of the seminar activity is to deepen the theoretical elements presented in the course, by solving specific types of problems. Applications are also developed - such as lexical analyzers, in the implementation of which the theoretical elements studied are directly used. At the end of the course/applications, the student will be able to: design different types of automata; specify languages by writing associated grammars; evaluate the computability of a problem; classify problems into specific complexity classes; design and implement a lexical analyzer.

For the course: Acquiring knowledge regarding the mathematical expression of two- and three-dimensional graphic transformations. Developing the ability to use these transformations and combine them for different purposes; Understanding the operations in the “programmable graphics pipeline” (Graphics pipeline); Acquiring knowledge regarding the realistic rendering of 3D scene images by applying algorithms for eliminating invisible parts of images; Acquiring fundamental knowledge regarding the introduction of light into images by simulating reflection and refraction using empirical models. Increasing the realism of synthesized images by adding shadows to images, simulating transparency and fog. Understanding a global illumination model: Ray-tracing; Acquiring knowledge regarding the approximation of graphic primitives in discrete space and their rendering on the display surface: fundamental algorithms for rasterization and clipping of vectors, circles, ellipses and polygons. For applications: Familiarization with the use of the OpenGL 3.x library and the GLSL language for developing graphic applications; Deepening the theoretical knowledge transmitted in the course by developing 2D and 3D graphic applications; Learning the ability to use the knowledge acquired in practical examples; Training the skills of designing and implementing graphic applications, by completing 3 assignments; Introduction to programming modern graphics processing units (GPU).

For the course: Understanding and knowledge of specific programming methods and models for applications that use parallel and distributed computing; Understanding the concepts of design and development of parallel and distributed algorithms; Understanding modern approaches to program development that use specific concepts and models for parallelization and/or distribution. For applications: Acquiring the skills, knowledge and engineering methods necessary to design, adapt and implement parallel and distributed algorithms, verify their correctness and increase performance in a given context; Improving the ability to analyze, model, design and implement applications that use parallel and distributed algorithms; Identifying problems specific to the implementation of parallel and distributed algorithms; Acquiring the practical working knowledge necessary to develop applications that use parallel and distributed algorithms.

Presentation of the general structure of technical and scientific documents; Elaboration of reports/summaries after reading a scientific article; Deepening of writing techniques and methods; Awareness of typical errors in writing technical texts, at all levels (language, coherence, adherence to a narrative thread, attractiveness, presentation style); Evaluation and correction of scientific articles; Refining of oral presentation techniques

This courses teaches students the basics of computer security, starting from an introduction to access control and cryptography, to the current security threats in web, network or application security. The main focus of the lecture is to give students the security vocabulary and to encourage them to further investigate the continuing evolving landscape of security.

The general objective of the course in Business Economics is to develop an economic mindset that will contribute to the understanding and correct assessment of the opportunities and risks that exist in an open economy that is constantly changing. Taking the course in Business Economics allows students to understand how economists analyze and explain what is happening in an economy; how microeconomics underpins both managerial and public policy decisions; how general economic conditions can influence finding a job or the success of a business; and to evaluate both the impact of other firms' decisions and the impact of macroeconomic conditions on a firm's business activity. At the end of the course, students will be able to analyze demand, costs, and efficiency in different types of markets. They will also understand how pricing policies are established, how investment decisions are made, and decisions related to actual production.

Taking the General Economics course allows students to understand how economists analyze and explain what is happening in an economy; to appreciate the objectives and goals of macroeconomic policy; to understand how general conditions in the economy can influence finding a job or the success of a business; to evaluate both the impact of other firms' decisions and the impact of macroeconomic conditions on a firm's business activity. The general objective of the General Economics course is to develop an economic mindset that contributes to the understanding and correct assessment of the opportunities and risks existing in an open economy that is constantly changing.

The course aims to: Form and develop the conceptual framework of the ever-changing field of creativity psychology; Optimize personality in general and stimulate creative potential.

Course: knowledge of the operation of the main elementary pulse processing circuits; knowledge of the principles of technologies used to create digital integrated circuits; acquisition of basic knowledge about the creation and use of integrated logic circuits made with field-effect transistors; knowledge of the principles of creation, operation and use of combinational and sequential CMOS integrated circuits; knowledge of the principles of creation, operation and use of SRAM and DRAM, ROM and Flash memories; knowledge of the principles of operation of pulse generation and formation circuits used in computing. Applications: acquisition of basic skills in using electronic equipment specific to an electronic laboratory; acquisition of the knowledge necessary to test integrated circuits made in various technologies; understanding the constraints imposed by the structure of pulse circuits in their interconnection and the use of interfaces.

Ability to use programming languages with different characteristics from the point of view of representation and problem solving. Ability to choose a programming language and mode adapted to the solved application.

For the course: Knowledge and understanding of the concepts, methods, models and algorithms related to the design and implementation of communication protocols in computer networks. Understanding the principles of protocol layering and prioritization, the role of standardization and the importance of open technologies for the development of the Internet. Knowledge of the main Internet protocols and technologies (from the TCP/IP suite), both low-level (for data transfer) and high-level (application-oriented). Analysis of protocols for high-performance networks, mobile networks and ad-hoc networks.Learning new methods and mechanisms used to achieve high performance in computer networks.Study of high-level protocols (for remote access, e-mail, Web, file transfer) and their use for building Internet services. For applications: Acquiring the skills, knowledge and engineering methods necessary to design, adapt and implement protocols for computer networks, perform their correctness checking and enhance their performance in a given context.Improving the ability to analyze, model, design and implement software sub-systems for computer networks (Internet). Identify specific problems in the implementation of protocols and develop effective solutions to solve them. Learning the techniques for developing software components for open systems based on standards for networking protocols. Using software development tools in the field of protocol engineering.

The course deals with the principles underlying the structural organization, operation, architecture, design, design, simulation and implementation of numerical systems and knowledge related to the learning of hardware description languages. The aim will thus be to acquire knowledge of how to describe numerical systems at different levels of abstraction, depending on the intended purpose: behavioral description (high-level simulation), structural description (logic simulation), performance evaluation following the implementation of the project in a given technology (occupied area, operating frequency); learning hardware description languages; representation of information in numerical calculators, the main arithmetic algorithms and their hardware implementations, in terms of complexity and performance; knowledge of implementation solutions for both integrated and microprogrammed execution units and control units; design of a numerical calculator, its simulation and implementation. The applications will be aimed at familiarizing with modern methods and platforms for the design, simulation and implementation of numerical systems; operationalization of knowledge of hardware description languages, in particular VerilogHDL, as well as implementation and testing on reconfigurable systems of numerical systems projects similar or complementary to those presented in the course.

Discussion of the intrinsic properties of problems from the perspective of possible solution methods and presentation of the main exact solution methods.Discussion of the relationship between the characteristics of problems, the solution mode and the quality of solutions.Presentation of the main approximate solution techniques for difficult problems. Design of algorithms for solving typical problems encountered in the practice of software systems development.Comparison of variants of algorithms for solving difficult problems.

Understand the inner workings of applications;Understand the vulnerabilities that arise from memory misuse and how they can be prevented; Acquire application optimization skills; Acquire application security and troubleshooting skills; Understand interoperability between different programming languages, in the context of using the right language for the task at hand.

Understanding the need to operationalize educational objectives; Knowledge of teaching methods used in teaching specialized subjects; Knowledge of forms of organizing student activity. Development of evaluation tools. Use of computers in learning activities.

Cultivation of students' positive and intrinsic motivation for the teaching profession; Analysis of the basic components of the teaching process and the relationships between them; Learning active strategies for using constructive feedback; Description of the principles of the teaching process and identification of concrete situations of their application; Analysis of models of teaching design; Comparative analysis of the main teaching methods; Highlighting the pedagogical potential of teaching methods; Practicing the ability to design different variants of teaching strategies; Training the ability to operate with various assessment techniques.

Familiarization with the specifics of written communication in science and technology (general and particular features of different types of written scientific texts). Developing the ability to create, structure and evaluate texts of a professional nature (CV, cover letter, oral presentation) in accordance with academic requirements and current customs. Develop the ability to successfully demonstrate and promote one's professional skills in an interview.Develop vocabulary specific to professional life: work schedule, career plan, work strengths and skills, company life.Develop the ability to structure correctly, clearly and concisely and deliver a fluent and professional oral presentation.

Course:knowledge of the operation of the main semiconductor devices; knowledge of the elementary principles of the technologies used in the realization of linear integrated circuits; basic knowledge of amplifiers realized with bipolar and field-effect transistors; study of the principles of realization of various applications of operational amplifiers and other linear integrated circuits; basic knowledge of the problems of power supplies for electronic equipment; basic knowledge of the generation of harmonic signals as well as of signal modulation and demodulation. Seminar: knowledge of the main programs for the analysis, simulation and design of electronic circuits; basic skills in the use of specific electronic laboratory equipment; understanding of how to analyze simple circuit schemes with discrete transistors and operational amplifiers; "

The OS course aims to understand how the inner workings of the computing system work in order to become a better software engineer/developer, regardless of the language and platform used. The primary role is to develop and improve skills such as: understanding code written by others, developing quality code that contains as few software defects as possible.The secondary role is to understand what happens behind the scenes when we perform operations (memory, I/O, etc.), how system resources are managed so that the user has a good experience when using it. Regardless of the operating system used, things look similar, and for that we use 2 different operating systems for exemplification: Linux and Windows.

Discussion of the intrinsic properties of problems in terms of computability and complexity and the implications of these properties on the actual solution process. Presentation of some methods for classifying problems, in relation to the difficulty of the actual solution, and of some methods for tractable NP-hard problems.Presentation of the main techniques for checking and analyzing the complexity of algorithms.Use of the theory taught in the course for cases frequently encountered in the practice of designing software systems.Comparison of variants of algorithms for solving difficult problems.

For the course: the course presents the theory and practice of object-oriented programming using the Java language. Concepts of the object-oriented programming paradigm such as data abstraction, encapsulation, inheritance, aggregation, polymorphism, generic programming are presented; at the end of the course students will be able to:use specific design tools specific to the object-oriented paradigm in the design of applications; specific and implement applications in Java. For applications: the laboratory activity aims to deepen programming knowledge and apply the concepts and methods presented in the course; students will implement and test complete programs and also develop existing programs, adding new features.

Knowledge of elementary notions about random processes, Markov processes; Knowledge of the main estimation problems in the field of mobile robots; Knowledge of the main localization techniques; Knowledge of the operating principles of a global positioning system (e.g. GPS); Knowledge of the main filtering techniques (complementary filter, Kalman filter, particle filter); Knowledge of the main techniques for simultaneous localization and map estimation (SLAM); Knowledge of the main techniques for path planning (DFS, BFS, A*, RRT); Knowledge of the main linear control techniques (PID).

For the course: Understanding and knowing the advanced software development tools that application developers have at their disposal, including high-level libraries, advanced technologies, modern programming paradigms, design templates, visual development environments; Understanding the concepts of designing and developing software systems based on the integration of various components and/or software services under advanced visual development environments; Understanding modern approaches to software development, existing development technologies and the particularities of state-of-the-art development environments (e.g., the aspect-based development approach). For applications: Implementing user interfaces based on analysis and principles of interaction and aesthetics; Acquiring programming knowledge using state-of-the-art development environments and programming languages; Acquiring practical working knowledge necessary for developing applications that use technologies from areas such as databases, web applications, distributed applications; Familiarizing students with collaborative work environments and methodologies for developing applications in teams.

This course equips students with the concepts and techniques for conducting relevant performance analysis and comparisons. It presents tools for monitoring the performance of the subsystems of the Linux and Windows operating systems, along with methods for clear data presentation.

For the course: Deepening the principles underlying e-commerce; Creating an e-commerce site using Magento Technology; Architectural concepts specific to e-commerce and the activities involved in e-commerce will be presented: marketing (direct mailing, banner campaigns, search engines, registration in web directories, banner/link exchange, affiliate programs), sales, payments (credit cards, cash on delivery system, postal order, payment orders), transaction completion, customer service; Comparisons will be made between B2B and B2C online business models; The performance of an e-commerce server is analyzed, as well as its security and scalability; Interactivity utilities, data mining concepts and techniques for site customization are presented. For the project Creating an e-commerce site; Creating the Catalog, Inventory, Marketing, Orders, Profile, Electronic Payment systems as well as the Order Processing System using the facilities offered by Magento or another technology of your choice.

During the course and the project, students will become familiar with modern computer-aided design methods for VLSI circuits and systems and will go through the stages of specification, logic simulation, mask design, design rule verification, parameter extraction (based on the mask description and the technology used), placement/routing and performance estimation (operating frequency, power dissipation and area occupied on the Si wafer). Case studies will consider both numerical subsystems and complex numerical systems. As a result of graduating from the course, students will be able to address problems related to the specification, design, simulation and implementation of VLSI numerical subsystems/systems, both in the form of ASIC circuits and FPGA circuits.

Acquiring the knowledge necessary to understand the administration of a relational database, the design and use of applications that use databases and familiarization with tools for working with them. Data analysis algorithms (data mining).

Machine learning aims to create programs that improve problem-solving performance based on data and previously achieved/observed solutions. The course presents the theory and practice of machine learning from different perspectives. At the end of the course, students will know methods and algorithms of supervised and unsupervised learning, inductive learning, statistical learning, reward learning, learning with artificial neural networks and genetic algorithms.

This course focuses on data storage and processing technologies. It makes a transition from Relational Databases on a single instance to the distributed NoSQL used in Big Data. The course is divided into 2 sections. In the first part of the course, we will discuss relational databases from the point of view of architecture design and data processing using procedural languages for both operational databases (OLTP) and data warehouses (OLAP). The second part of the course focuses on the field of Big Data and NoSQL storage technologies. We will discuss the main classes of NoSQL databases from the point of view of both architecture implementation and data processing languages.

Students will use, for the entire life cycle of an information system, the information technology tools and methods that ensure their development and proper functioning, according to imposed quality criteria and standards. Within the laboratory, students will know and apply reference models, for example CMMI, for managing the specific phases of the life cycle of an information product or service

The MPS course aims to acquire skills in planning and organizing software projects, aiming at the correct choice of management tools and an appropriate management style with an emphasis on project tracking and monitoring. The main role is to allow students to express themselves in a real team, with specific positions and duties, with a common goal: to provide quality software! MPS proposes to create the right context for developing solutions with the perfect mix of fun and responsibility. The secondary role is to transmit knowledge in the area of management techniques regarding the project life cycle, how to design, document, develop, test, lead, evaluate, monitor.

Development of cognitively ergonomic human-computer interfaces, with a focus on web applications; Development of collaborative interfaces; Evaluation of interfaces; Analysis of interdisciplinary aspects of human-computer interfacing;

The course aims to explain and acquire the fundamental ideas underlying embedded and real-time systems. An embedded system is designed for a specific purpose, in comparison to a regular computer that must perform multiple tasks. The course deals with the hardware and software architecture of embedded systems from the point of view of performance, cost and usage constraints. Techniques for optimizing the design of embedded systems and real-time event handling are studied. The course also presents the concepts underlying the design of operating systems that run on an embedded system

For the course: In the first part of the course, we will review the basic notions about signals: how they are represented mathematically, how we describe a system that processes signals, what are the applications and needs of these processings. Then we will discuss the Fourier transform on analog signals. After that, we will explain the sampling process and related issues, and we will discuss digital signal processing and the Fourier transform on discrete (digital) signals. Finally, we will focus on convolution and filtering methods. In the last course, industry experts will explain to students how these notions are applied in practice. For the project: Students will choose a recent research article related to the topics covered in the course and will conduct an implementation of the methods described in the article and their own evaluation of those methods.

The Network Design course aims to acquire knowledge and skills in the design, diagnosis, and development of computer networks, as well as elements of data science.

Description of components in multi-processor systems; Understanding the interaction between components and the operation of the system;

The course and the laboratory/project cover the following topics: Mathematical model of parallel computing. Granularity of parallel structures: the relationship between parallel architectures and parallel algorithms. Limit of parallel computing. Levels of parallelism. Determining parallelism at the microoperation level. Estimating the minimum cost of implementing a set of microoperations. Synchronization in parallel and distributed systems. Parallelization of operations in structures with superscalar architecture.

For the course: Understanding the issues of the Data Mining field and its subfields. Using IT tools specific to the field; Knowledge and understanding of concepts, principles and theories of the Data Mining field (extraction of knowledge from data) and data warehouses; Acquiring the knowledge necessary to effectively use Data Mining algorithms; Acquiring the knowledge necessary to identify and analyze specific problems as well as learning the skills necessary to develop strategies for their solution; Acquiring the knowledge necessary to ensure the quality of products and services in the IT field; For applications: Acquiring the use of the most commonly used algorithms in the field; All elements related to the Data Mining field are addressed: Data preprocessing; Algorithms for association rules and frequent sets of items; Classification algorithms (supervised learning); Clustering algorithms (unsupervised learning); Semi-supervised learning algorithms; Web mining elements; Data warehouses and dimensional modeling.

For the course: Presentation of CASE concepts; Architecture and areas of use of CASE systems; Development environments and types of CASE tools; Generations of CASE tools; Comparison methods between CASE tools; Designing software applications using CASE tools. For the laboratory: Xcase Database Design Software tool (Oracle, MySQL, SQLServer, DB2, Sybase database modeling) Oracle Application Express tool (database creation, web application design, report generation, statistics and graphics generation) Oracle Oracle Business Intelligence tool (report generation, statistics and graphics generation).

Acquiring the knowledge necessary to understand: Organizing computer clusters and the Linux operating system; Exploiting Oracle database architecture and DB creation methods; Administering an Oracle DB instance; Configuring the Oracle network and data storage structures; Administering Oracle DB users, concurrent data access and auditing a DB; DB maintenance activities, performing DB backup and restoration, recovering an Oracle DB. The ability to think algorithmically, in successive or recurring steps, to solve technical problems that can be solved with the help of a computer.

For the course: Understanding the concepts of relational and object-oriented DB and specific theoretical elements (e.g. relational algebra); Mastering specific relational/object-oriented DB languages; Mastering the algorithms presented; Deepening the specific knowledge of operating systems used in dealing with concurrency in DB systems; Using domain-specific IT tools; Mastering the knowledge necessary to implement a DB management system; For the project: the project that aims to demonstrate mastery of the elements presented in the course by applying them in the design, optimization and maintenance of a small-sized relational DB.

For the course: Identifying the specific characteristics of real-time information processing; Identifying theoretical solutions for the design and implementation of real-time processing systems and knowing the advantages and disadvantages of each technology studied; Acquiring skills in solving concrete problems that require real-time information processing. For applications: Familiarizing yourself with the Robot Operating System; Designing, implementing and testing an application in C / Java /; Python corresponding to a real-time information processing system.

After completing the course High Performance Computing, students will be able to: Describe, using specific mathematical methods (for example, through systems of differential equations), applications from scientific fields such as: elementary physics, molecular chemistry, fluid mechanics, seismology, etc.; Implement efficient algorithms in terms of performance and memory usage on state-of-the-art computing structures: multiprocessor and multi-core parallel machines (homogeneous and heterogeneous); Port and optimize computationally intensive parallel applications on computing systems with processors (vectorization/load balancing); Be able to estimate the performance of a given application (computational requirements and data traffic) on a specific computing structure, evaluate the performance (profiling), propose and implement methods to improve them.

Course: Presentation and use of current technologies used by microprocessors, as well as advanced processing technologies; Presentation of advanced features of microprocessor systems; General and functional description of advanced architectures of microprocessor systems: advanced vector and multimedia architectures; stream architectures; multithread, multicore architectures and multiprocessor circuits; polymorphic architectures based on core grid, clusters, FPGA or asynchronous; Presentation and use of advanced programming and compilation models; Presentation and use of virtual machines in the development and execution of current microprocessor systems; Presentation and application of dynamic compilation methods in advanced microprocessor systems; General and functional description of advanced fault-tolerant architectures; Application of ML (“Machine Learning”) techniques to advanced microprocessor systems; Applications: Study, development and analysis from a hardware/software point of view of advanced microprocessor systems; Conducting research reports in the field of advanced design of processors and processor systems.

For the course: The course aims to complete the professional training of undergraduate students by transmitting information regarding the real exposures of systems and networks from a security point of view, and by presenting techniques and methods for developing and implementing security policies and procedures within computer networks. For applications: In complementarity with the "Systems and Networks Security" course, which aims to provide theoretical knowledge for testing the security of computer systems and networks, the applications provide practical skills and abilities for testing the security of systems and networks, focusing on experiments with modern hardware equipment and specialized software; The aim is to familiarize students with widely used equipment for modeling, simulating and testing systems and networks. The use of these equipment will be done on real systems and networks in order to be able to make a more precise quantitative and qualitative analysis; The systems and network security applications aim to create a framework to prepare participants for the use of specialized equipment in network testing and simulation, culminating in a simulation of auditing their own communications networks used by the laboratory equipment on which they completed the training; Hands-on applied training activities benefit from hardware and software support and know-how in systems security, through partnerships with prestigious companies in the field such as Fluke Networks Romania, Marctel Romania.

For the course: Understanding the domain issues and relational, NoSQL and distributed data models; Mastering a systematic design model for relational databases (entity-association model), data warehouses (star, snowflake model, etc.), NoSQL models (key-value, document-oriented, column-oriented) and some data processing algorithms (OLAP, Map-Reduce); Mastering the knowledge necessary to understand the functioning of the presented systems; Mastering advanced elements of database theory: distributed databases and ensuring operational safety; Mastering different languages for manipulating information in the different systems presented: the API for MongoDB, Riak and Cassandra, JavaScript, CQL, Java for Hadoop and Scala for Spark. For the project: Mastering how to use the NoSQL management system or the Big Data ecosystem; Mastering how to use the specific language used by the NoSQL database or Big Data ecosystem.

The e-Government course offers theoretical and practical aspects of electronic governance so that a student can understand the basic concepts. At the end of this course, the student will be able to understand the purpose of electronic governance and will be able to create, maintain and optimize an e-government system. Thus, its objectives are: deepening the principles underlying electronic governance, defining the participants in electronic governance, establishing the characteristics of an e-government project, defining the architecture of e-government applications, detailing interoperability aspects. At the same time, the performance of an e-Government system is analyzed, as well as its security and scalability. Within the applications, the creation of electronic forms and the creation of an e-Government system by integrating its fundamental components are pursued.

For the course: The course describes specific concepts in the Cloud Computing domain, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Container as a Service (CaaS) and Software as a Service (SaaS). The course covers aspects related to security in Cloud environments, economic models for Cloud Computing, Cloud Service models, as well as understanding specific mechanisms and tools for the development and execution of Services and Applications in Cloud environments (with examples during the application hours). The course thus aims, in particular, to understand specific concepts for Business Grid, Cloud Computing, specific Platforms and Methodologies for the development of Cloud Services. For applications: Practical applications focus on presenting the notions of microservices and containers, in the context of applications and services in Cloud environments. Thus, students will become familiar with the terms of containers and containerization using Docker, and then with container and microservice orchestration using Kubernetes. During the application classes, case studies will be discussed and demonstrative applications will be implemented for each objective, this being the basis for the realization of the practical applications proposed in this discipline.

For the course:The course will focus on models, methods, techniques, algorithms for designing, implementing and analyzing Big Data services. The Hadoop/Spark ecosystem and NoSQL system will be used as tools/standards for creating services that can process very large amounts of data. The course material will be extracted from textbooks and recent specialized literature. The following topics will be covered: distributed systems models, Big Data applications, service-oriented architecture, microservices, Hadoop ecosystems, in-memory computing (Apache Spark), storage services for Big Data, Big Data Analytics and Big Data ethical issues. The course presents theoretical models and general techniques for processing and storing big data, along with practical examples and use cases. The course provides a service-based approach to Big DataFor the project: Offering a balanced perspective on theory and practice, the project should enable students to understand the use and build practical large-scale systems for data processing (e.g. Big Data analytics) and Big Data storage services.

For the course: Presentation of the issues of implementing an integrated information system; Database architectures and applications; Security of database applications; Security of database systems; Distributed database systems; Methods of analysis, design and modeling of integrated systems; Methodologies for implementing and securing distributed information systems; The role of integrated applications in business activity; Design methods and modeling levels of ERP systems; For applications: Specific problems of administering a database system; Administration of users, privileges and roles; Database dictionary; Allocation of hardware and software resources for a database; Administration of objects created in the database; Statistics on relational databases; Optimizing the performance of a relational database.

For the course:Acquiring knowledge about project management (how to plan and how to manage a project). Correct knowledge of the fundamental elements; Integrating IT into information, communication and managerial processes in economic units; Knowledge of the essential elements of a contract and the conditions of legal validity; Acquiring the knowledge necessary to assess risks in order to ensure the performance of projects and services in the IT field; Enumeration of factors to be taken into account when choosing a software for project management; Understanding the standards for commercial conditions for supply and order forms; Ensuring competent and professional preparation for accessing a management position; The course is structured in chapters that target the stages of project development: initiation, planning, execution, monitoring and control, closing and releasing resources. For applications: The student is guided to learn creatively and applicatively; Laboratory platforms clarify the basic notions in the field, the fundamental concepts and constitute an encouragement for individual study and practical applications on the computer; The student must acquire the knowledge necessary to find applicative solutions to problems in the stages of a project's development, on the computer, to form practical skills according to the theoretical training acquired.

The course aims to introduce modern concepts related to the multi-tier architecture of Java Enterprise applications and the relationships between the various components. Students will gain theoretical and practical knowledge of Java EE programming, learning the skills to program scalable and secure applications from scratch, with database support and that can run distributedly in the production environment. Real-life case studies are also presented as well as design templates that show the best practices for implementing Java Enterprise projects. Practical applications concretely exemplify the concepts and models taught in the course by using the APIs provided by the Java EE 8 platform as well as frameworks such as Spring. Students will develop several open source applications in Spring with MySQL/PostgreSQL database support, starting from a given set of specifications and going through all stages of the software development cycle (IntelliJ will be used as the IDE).

The specific objectives of the course are: Knowledge of the fundamental concepts of designing a sensor node; Knowledge of the fundamental concepts related to specific protocols and operating systems for IoT; Implementation of IoT systems using domain-specific protocols, algorithms and operating systems; Programming, simulation and design of IoT nodes and networks.

Knowledge of systems that ensure the identity of entities as well as the trust links between them; Knowledge of minimal security rules to prevent and counter attacks in the virtual environment.