Admitere Master Software Engineering

Admitere Master Software Engineering

Admiterea consta in doua probe.

Proba nr. 1. Examinarea dosarelor de concurs

Candidatii elibigli care detin diplome de absolvire a programelor acreditate trebuie sa isi trimita calificarile obtinute. Pentru fiecare candidat se calculeaza media generala cu care acesta a absolvit studiile universitare de licenta sau cele de lunga durata, dupa caz. Media va fi un numar fractionar intre 1 si 10.

 

Proba nr. 2. Proba bazata pe examen scris cu subiecte din bibliografia anuntata si eventual colocviu.

Admitere septembrie 2017:

Candidatii vor participa la o proba scrisa pe data de 14 septembrie 2017, ora 9, in sala CJ205.

Candidatii inscrisi la Masterul de Software Engineering vor trebui sa posede cunostinte temeinice in doua din cele cinci discipline prezentate mai jos.

  • Limbaje de programare
  • Structuri de date si algoritmi
  • Baze de date
  • Metode de dezvoltare a sistemelor de programe
  • Inteligenta artificiala

Fiecare urmeaza prin lista capitolelor si bibliografia recomandata. Fiecare capitol este ilustrat prin conceptele care trebuie cunoscute de candidat pentru a raspunde la intrebarile probelor. Referintele biblidisciplina de concurs este prezentata in cele ceografice sunt ale unor carti sau materiale documentare accesibile fie in librarii sau biblioteci care au raioane specializate in domeniul informaticii, fie pe Internet.

Limbaje de programare lista capitolelor

  • Tipuri de date, variabile, constante, algoritmi, expresii, instructiuni
  • Doua variante:
    • Limbaje procedurale: varibile locale/globale, vizibilitate, functii, proceduri, module si/sau
    • Limbaje orientate pe obiecte: clase si obiecte, constructori, encapsulare, mostenire, polimorfism, clase abstracte si metode
  • Tratatea erorilor
  • Operatii Input/output

Exemplu:

1. public class ArithmeticResultsOutput {
public static void main (String[] args) {
int i = 0;
int j = 0;
if (i++ == ++j) {
System.out.println("True: i=" + i + ", j=" + j);
} else {
System.out.println("False: i=" + i + ", j=" + j); } }}
What will be printed to standard out?
A. True: i=0, j=1
B. True: i=1, j=1
C. False: i=0, j=1
D. False: i=1, j=1
2. What is the output of the following program?
1. public class Average {
2. public static void main(String [] args) {
3. int [] scores = {2,4,5,5,6,8};
4. int sum = 0;
5. for(int x : scores) {
6. sum += x;
7. }
8. System.out.println(sum / scores.length);
9. }
10.}
A. 30
B. 6
C. 4
D. 5
E. The code does not compile.
3. What is the result of the following code?
1. public class Beverage {
2. private int ounces = 12;
3. boolean carbonated = false;
4. 
5. public static void main(String [] args) {
6. System.out.println(new SodaPop());
7. }
8. }
9.
10. class SodaPop extends Beverage {
11. public String toString() {
12. return ounces + “ “ + carbonated;
13. }
14. }

A. 12 false
B. Compiler error on line 6
C. Compiler error on line 10
D. Compiler error on line 11
E. Compiler error on line 12
4. Given:
class CardBoard { Short story = 200; CardBoard go(CardBoard cb) { cb = null; return cb; } public static void main(String[] args) { CardBoard c1 = new CardBoard(); CardBoard c2 = new CardBoard(); CardBoard c3 = c1.go(c2); c1 = null;
// do Stuff
} } When // doStuff is reached, how many objects are eligible for Garbage Collector?
A. 0
B. 1
C. 2
D. Compilation fails
E. It is not possible to know
F. An exception is thrown at runtime
5. The following block of code creates a Thread using a Runnable target: 
Runnable target = new MyRunnable();
Thread myThread = new Thread(target);
Which of the following classes can be used to create the target, so that the preceding code compiles correctly?
A. public class MyRunnable extends Runnable{public void run(){}}
B. public class MyRunnable extends Object{public void run(){}}
C. public class MyRunnable implements Runnable{public void run(){}}
D. public class MyRunnable implements Runnable{void run(){}}
E. public class MyRunnable implements Runnable{public void start(){}}

 

Bibliografia recomandata*

  • C. S. Horstmann and G. Cornell, Core Java 2: Vol.1 – Fundamentals , 6/e, Prentice Hall, 2002.
  • Thinking in Java , www.bruceeckel.com
  • www.java.sun.com
  • In romaneste: L.D.Serbanati, C.Bogdan, Programare orientata spre obiecte cu exemplificari in limbajul Java, Politehnica Press, 2010

Structuri de date si Algoritmi Lista capitolelor

  • Analiza complexitatii algoritmilor si notatiile aferente.
  • Metode de sortare.
  • Recursivitate.
  • Structuri de date fundamentale: arrays, structuri dinamice de date (liste inlantuite, stive, cozi, arbori, multimi, multimi de multimi, grafuri ).
  • Strategii algoritmice si proiectare de algoritmi: backtracking, direct solution strategies, top-down solution algorithm, bottom-up strategies.

Exemplu:

1. Which of the following data structures are indexed structures?
A. Linear arrays
B. Linked lists
C. Both of above
D. None of above
3. The depth of a complete binary tree is given by
A. Dn = n log2n
B. Dn = n log2n+1
C. Dn = log2n
D. Dn = log2n+1
4. Arrays are best data structures
A. For relatively permanent collections of data
B. For the size of the structure and the data in the structure are constantly changing
C. For both of above situation
D. For none of above situation
5. If every node u in G is adjacent to every other node v in G, A graph is said to be
A. Isolated
B. Complete
C. Finite
D. Strongly connected

Bibliografia recomandata*

  • Pentru structuri de date si algoritmi:
    M. Goodrich, Roberto Tamassia, “Data structures and algorithms in Java”, John Wiley and Sons, 4th ed., 2006
  • Pentru analiza complexitatii algoritmilor si strategii algoritmice:
    T.H.Cormen, C.E.Leiserson, R.L.Rivest, and C.Stein. Introduction to Algorithms, Second Edition. MIT Press, 2001
  • In romaneste: T.H.Cormen, C.E.Leiserson, R.L.Rivest, Introducere în algoritmi, Prima editie, Agora, 2000
  • C. Giumale, Introducere în analiza algoritmilor, Polirom, 2004

Baze de date Lista capitolelor

  • Modelarea datelor. Modelul Entitate-Asociere (ER). Extensii ale modelului ER.
  • Proiectarea structurii bazelor de date relationale. Dependenta functional si multivalorica. Forme normale. Descopunerea schemelor relationale.
  • Gestiunea tranzactiilor.
  • Limbajul SQL.

Exemplu:

1. The highest level in the hierarchy of data organization is called
A. Data bank
B. Data base
C. Data file
D. Data record

2. When designing the physical model from the logical model, which element from the ER diagram may be attributed as a table?
A. Relationship
B. Attribute
C. Unique identifier
D. Entity

3. How will the results of the following two statements differ?
Statement 1:
SELECT MAX(longitude), MAX(latitude)
FROM zip_state_city;
Statement 2:
SELECT MAX(longitude), MAX(latitude)
FROM zip_state_city
GROUP BY state;

A. Statement 1 will fail because it is missing a GROUP BY clause.
B. Statement 2 will return one row, and Statement 1 may return more than one row.
C. Statement 2 will display a longitude and latitude for each zip_state_city.
D. Statement 1 will display two values, and Statement 2 will display two values for each state.

4. Which line of code has an error?
1 SELECT deptno
2 FROM emp
3 GROUP BY deptno
4 HAVING COUNT(deptno) =
5 (SELECT max(count(deptno))
6 FROM emp
7 GROUP BY deptno);

A. Line 3
B. Line 4
C. Line 5
D. Line 7
E. There is no error.

5. Which statement successfully adds a new column ORDER_DATE to the table ORDERS?
A. ALTER TABLE ORDERS ADD COLUMN ORDER_DATE DATE;
B. ALTER TABLE ORDERS ADD ORDER_DATE (DATE);
C. ALTER TABLE ORDERS ADD ORDER_DATE DATE;
D. ALTER TABLE ORDERS NEW COLUMN ORDER_DATE TYPE DATE;

Bibliografia recomandata*

  • H.Garcia-Molina, J.D. Ullman, J. Widom. Database Systems: The complete book, Prentice Hall, 2002
  • In romaneste:
    • M. Petrescu, Baze de date, Note de curs.
    • F.Radulescu, Baze de date, Note de curs

Metode de dezvoltare a sistemelor de programe Lista capitolelor

  • Introducere in Software Engineering: Procesul software, modele ale ciclului de viata al sistemelor de programe, UP-Unified Process.
  • Modelarea sistemelor de afaceri (Business Modelling) : componentele unui sistem business, procese business: fluxuri de control si fluxuri de obiecte, diagrame de activitati UML.
  • Analiza cerintelor: capturarea cerintelor, cazuri de utilizare UML.
  • Modelarea conceptuala: identificarea claselor si relatiilor si diagrame de clase UML; identificarea comportamentului si diagrame de interactiuni UML; identificarea obiectelor active si diagrame statechart UML.
  • Proiectarea arhitecturala: separarea intereselor si modularitatea sistemelor de programe, coeziune si cuplare, diagrame de pachete UML, stiluri arhitecturale.
  • Proiectarea obiectelor: atribuirea de responsibilitati classelor, sabloane de proiectare.

Exemplu:

1. What is the definition of abstraction? 
A. To identify the properties that distinguishes similar objects
B. To create a shared definition for common properties of a set of similar objects
C. To represent a real object in a useful manner for a specific problem
D. To assemble a set of part objects to create a new whole object

2. How is the Extend stereotype used? 
A. To isolate optional logic to reduce the complexity of the use case narrative
B. To define specialized forms of actors or use cases
C. To isolate redundant events flows shared by multiple use cases
D. To isolate an exception flow of events from a main flow of events

3. What elements are discovered using the sequence diagram and added to the class diagram? 
A. Interfaces of the objects
B. Classes of the objects in the sequence diagram, attributes, and operations
C. Classes of the objects in the sequence diagram
D. Operations and the associated attributes that appear as arguments in the operation definition

4. What is the definition of coupling? 
A. To measure the dependency between objects
B. To measure the degree to which the elements of an object support the same purpose
C. To assemble a set of part objects to create a new whole object
D. To create a shared definition for common properties of a set of similar objects

5. What is the definition of cohesion? 
A. To identify the elements that define an object using the problem context, level of detail, and time frame
B. To measure the dependency between objects
C. To create a shared definition for common properties of a set of similar objects
D. To measure the degree to which elements of an object support the same purpose

Bibliografia recomandata*

  • C. Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Third edition, Prentice Hall, 2004.

Inteligenta Artificiala Lista capitolelor

  • Rezolvarea problemelor prin cautare
  • Reprezentarea cunostintelor in logica cu predicate si demonstrarea teoremelor
  • Sisteme bazate pe reguli
  • Invatarea din exemple bazata pe arbori de decizie
  • Lisp.

Exemplu:

Answer the following 3 requests:

  • Give the Java or C++ implementation of a class MinMax with two instance variables min and max, both of type double. Include a constructor that takes two input parameters, one for the min and one for the max value. Furthermore, include the two methods getMin and getMax for retrieving the two values.
  • Give the Java or C++ implementation of a method (in an arbitrary class) that takes two objects of type MinMax as input and that returns an object of type MinMax containing the minimum and maximum values of the values in the two input objects.
  • Give the Java or C++ implementation of a method (in an arbitrary class) that takes an array of double as input and that returns an object of type MinMax containing the minimum and maximum values of the array.

Bibliografia recomandata*

  • S. Russell, P. Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 2002.
  • In romaneste (pentru capitolul de Lisp):
    • S.Trausan, Programare in Lisp. Inteligenta artificiala si web semantic, Editura Polirom, 2004.
    • H.Pop, G.Serban, Programare in Inteligenta artificiala – LISP si PROLOG, Editura Albastra, 2008.

*Bibliografia prezentata este extensiva. Pentru asimilarea cunostiintelor necesare pentru examenul de admitere este suficienta studierea unei singure carti din cele prezentate pentru fiecare capitol. Exceptia de la aceasta regula o face capitolul de structuri de date si algoritmi unde sunt prezentate doua discipline.

Link-uri rapide

Urmăreşte-ne