Monthly Archives: februarie 2008

ProMec

Posted by on februarie 24, 2008
Fără categorie / No Comments

Preview

ProMec is a small graphical project I did for the Mecanics course in the first year of faculty at UPB, with prof. A. Craifaleanu. It simulates the movement of a complex system made out of several bars.
Continue reading…

Talk

Posted by on februarie 24, 2008
Fără categorie / No Comments

Preview

Talk is a simple chat program. It uses the very simple Cesar code to encrypt the messages. Select the mode (client or server), the IP address and the port, then press “Conectare” ( “Asteapta” for the server), and, if there is another user, the message area will be activated.
Continue reading…

Query

Posted by on februarie 24, 2008
Fără categorie / No Comments

Preview

Query is a whois-like program that allows you to find the status of a domain or IP address. He uses Whois servers to obtain informations like the domain owner, expiration data, etc.

The software is distributed under CC-GNU GPL license.

Download (source)

Distributed Programming Homeworks

Posted by on februarie 23, 2008
Fără categorie / No Comments

Distributed Programming Homeworks from the Automatics and Computer Science Faculty, UPB, 5th year, prof. Corina Stratan. Themes: Transactional Distributed Object DataBase Management System, RMI (Remote Method Invocation), Plane ticket reservation web service, SSH access using a web interface with JSP/servlets.
Continue reading…

Network Programming Homeworks

Posted by on februarie 23, 2008
Fără categorie / 2 Comments

Network Programming Homeworks from the Automatics and Computer Science Faculty, UPB, 5th year, prof. Valentin Cristea. The archive contains a homework made in Java. Themes: RPC (Remote Procedure Call), Sorting trees using MPI, Secure chat server in JAVA, Bidding system using CORBA.
Continue reading…

Parallel Algorithms Homeworks

Posted by on februarie 23, 2008
Fără categorie / No Comments

Parallel Algorithms Homeworks from the Automatics and Computer Science Faculty, UPB, 5th year, prof. Valentin Cristea. The archive contains a homework made in Java. Themes: Parallel Game of Life with OpenMP, Sudoku with Replicated Workers, image manipulation (filters, Huffman coding), routing tables.
Continue reading…

CS Faculty Review: The Teachers and The Curriculum

Posted by on februarie 22, 2008
Fără categorie / No Comments

This is by far the most extensive part of my review. My plan was to make two separate posts, but I realized I couldn’t talk about the subjects without talking about the teachers.

There was an extensive discussion with the fourth year students about what could be changed in the faculty. There were many interesting ideas, such as replacing C with Python or Alice in the basic programming course and replacing the x86 assembler course with a more general course that would allow students to program on pretty much any platform. A more radical proposed approach was to put the C in a separate course, taught after the computer architecture course.

I finally got to presenting my experience in the faculty. For those who might read this later on, I must say I have a 5 years degree. Nowadays, students only spend 4 years in the faculty and the curriculum has changed a little. In the end I will talk about the new subjects, but let’s start with the old stuff.

First year

The first year was full of non-technical subjects. Math, Physics, Culture & Civilisation or Sport were all useless courses meant to quickly go in the history’s recycle bin.

The two most important courses were Computer Programming (with E. Kalisz) and Data Structures and Algorithms (with F. Moraru). Both subjects were taught in C and unfortunately the emphasis was on the language’s capabilities rather than the actual principles. My opinion is that the choice of the language was correct, as C allows the students to familiarize themselves with curly-brackets languages as well as presenting them (the hard way) with some notions on parameter passing. Some might argue that learning C pointers just to illustrate some of the many parameter-passing techniques is just too much, but I disagree. Once you understood pointers, other similar structures will be much easier to grasp.

Second year

The second year was pretty much like the first one. 17 courses in all, with lots of electronics and little computer science. Again, I will not go in details about most of the subjects. They’re a necessary evil in my opinion, but they shouldn’t distract a student from learning as much as he can from books or tutorials on the internet.

The two programming courses were PLAS (Assembler language programming) and OOP (Object Oriented Programming). PLAS (with Prof. Lungu) was pretty much a review of x86 assembler commands. Again, too much focus on the language itself and too little about the principles of computer architectures and assembler programming. As one TA put it:

After this course, students should be able to program pretty much any device, from an ARM to an x86.

OOP is the most extensively discussed course in the whole faculty. It’s importance is beyond discussion, but the language chosen to illustrate the concepts is again at the center stage of the fight. The teacher (Prof. Moraru again) chose Java many, many years ago. Microsoft technology fans argue that .NET should be used instead, while other want a comparison between the two or C++. What I would have liked to see is a specially designed, all-object, no thrills language that would provide little more that OOP-specific properties (inheritance, polymorphism, etc.). If that was impossible, I would have preferred C++, because it offers some features abandoned in high-level languages.

Third year

This was the first year when I felt I was at the right faculty. 🙂 We had courses like Algorithms Analysis (AA), Computer Architecture, Computer Graphics, Data Transmissions, Software engineering or Communication Protocols, that reopened our taste for the faculty.

The AA course, with prof. Cristian Giumale, should have been done in the first year, not in the third. It talked in a not-so-easy-to-understand way about P/NP problems, the O, o and omega functions and so on.

The software engineering course was the first opening on the industry we had from the moment we entered the faculty. It talked about software development cycles, testing and design patters. This course, as well as the Protocols course were taught by TA’s only 3 or 4 years older than us, which allowed for easier interaction. Unfortunately, the Protocols course is misplaced, it should be taught AFTER the Networking course.

The Computer Graphics (D. Zaharia) and Data Transmissions (can’t remember the teacher’s name) could/should have been some great courses. Unfortunately, they were little more than history lessons. The same cannot be said about the Computer Architecture course (taught by prof. A. Petrescu, the father of most Romanian compuers in the 1970s and 1980s). This one started with the oldest computers but continued with the most recent technologies. Too bad the TA’s (the 4 Popescu as they were known) were not anywhere near prof. Petrescu’s enthusiasm and knowledge.

Fourth year

This year was divided in 2 very different semsters – in the first one there were more CS subjects, while the second represented the beginning of the specialization.

In the fall semester we had to pass through Operating Systems, Networking, Microprocessors and Database. The Operating Systems (with D. Zaharia) and the Microprocessors (with N. Ţăpuş) courses were yet again history lessons. Fortunately for us, the OS lab was excellent – taught by Cristina Cărbunaru after labs written by Răzvan Deaconescu.

The Networking (R. Rughiniş) and Computer Structure (E. Sluşanschi) courses were much more updated, as they were taught by younger teachers. Both had their problems though – Rughini? was much too concerned with cheating and Slu?anschi too focused on the top 500 supercomputers list.

The Database course was quite interesting (with. F. Rădulescu), but the lab sucked. A special mention should be given to Management – the only non-technical course in the faculty to be taught seriously AND in a way that was easy to understand for geeks.

In the second semester we met the famous subject that make this faculty such a feared one: Compilers (V. Palanciuc) and Operating System Design (O. Purdilă). Unfortunately, both teachers had serious problems with pedagogy and those problems shadowed their high technical skills. The labs were very interesting and the homeworks much easier than in previous years.

Other courses were Database Design (much less interesting with prof. M. Petrescu), Parallel Architectures (an introduction to OpenMP and MPI with prof. N. Ţăpuş) and Functional Programming with C. Giumale. The latter turned out to be like an Ali Baba’s cave – a totally new approach to programming, something different from what we knew before. Unfortunately, it was also very difficult to grasp, despite the teachers best efforts.

Final semester

The final semester was, as expected, the easiest one. We had 2 subjects with prof. Valentin Cristea and a Distributed Systems course (which turned out to be more like a J2EE course) with Corina Stratan.

Most of us were pleasantly surprised by the attitude prof. Cristea had towards the courses. From the older student we found out that he was pretty much uninterested and distant with the students. This year there was a whole different story. We felt that he was extremely motivated in trying to send us the maximum of knowledge. Perhaps all the changes in the curriculum actually managed to get the teachers a little more interested? Hope so…

New stuff

The most notable new entry is USO – Operating Systems Use. It teaches students on how to use a *NIX system: how to compile a program, how to secure the system, what’s a process, a thread, a I/O device, etc. The teachers are the same as in the Networking course.

Another novelty in the 4 years system is the Information Technology specialization. The way I see it, it’s just another way to squeeze even more students in an already overcrowded place.

I also noticed that the last year of study is different – you can choose subjects from other specialization branches as well as from a common pool. This is a good thing, as it allows for more choices from the students.

As a conclusion, I might say that the faculty actually begun for me in the third year. Even then, there were few subjects where both the lectures and the labs were good. Most of the time, only one of them was well-made.

Schema unei reţele şi analiza sa economică

Posted by on februarie 15, 2008
Fără categorie / No Comments

Descriere: Referatul prezintă un proiect de reţea pentru o companie cu sedii în mai multe oraşe. Este analizat inclusiv costul acestei reţele.
Materie: Evaluarea Performanţelor, Reţele
Referat făcut la facultate.
Continue reading…

Modele cu cozi în sistemele de calcul

Posted by on februarie 15, 2008
Fără categorie / No Comments

Descriere: Sistemele de calcul pot fi reprezentate cu ajutorul modelelor de cozi de taskuri.
Materie: Evaluarea Performanţelor
Referat făcut la facultate.
Continue reading…

AIM: Another Itemset Miner

Posted by on februarie 15, 2008
Fără categorie / No Comments

Descriere: Scopul acestui referat este prezentarea algoritmului Another Itemset Miner pentru determinarea cosurilor de produse frecvente, realizat de Amos Fiat şi Sagi Shporer.
Materie: Evaluarea Performantelor, Complemente de Informatica
Referat făcut la facultate.
Continue reading…