Several days ago, I was talking to Mas Sam (don't concatenate the words and read it as an Indonesian word.. it's Samuel Louvan that we're talking about). In short, I was wondering, if we're going to be a Master in IT, why we should learn 'unnecessary' knowledge? There are Process Algebra and Requirement Analysis, Design, and Verification (RADV). Both courses deal with algebraic notation and fuzzy mathematical stuffs.. and there is not even single bit of programming in it! The same goes with many other courses... There are more theories rather than practical stuffs...
If this is the case, how can I cope with the newest technology in the market? If I'm going to be an employee, how can I know the best web framework to be used later in my company? How can I manage an IT department if I don't keep up-to-date to the latest technology?
In addition, how can these kind of knowledge be taught in this well-developed country if it's useless???? (At least, that's my first impression...)
Well, after thinking for a while... I just realized... That these knowledge are the basics of the things I considered to be cool... name it! Internet, web frameworks, real-time applications...
How can you know that a certain web framework is better than the other? By reading in weekly IT articles of how good is their performances? By taking a look at their vendors specification? By trying them yourself and concluding that their performance is good based on your prototype?
Well... you need to model them.. see how is the dependency between one module to another... See how they handle requests and concurrencies... see their coupling level...
How do you know that one protocol is better than the other? By certain 'hypothesis'???
I remember two years ago when I was starting to learn web services.. It's so cool, that I think I can do almost anything with it! However, when Pak Riza asked me in my final project presentation, whether web service is suitable to send real-time messages, I answered no because of the size of additional data which need to be transferred and the use of HTTP (which is not dedicated for real-time applications). But if he asked me to explain, how a dedicated protocol for real-time application should be designed and verified... I don't not know....
Because...
I never really analyze any Information Technology...
Just try them, if it's work well and fast enough in a small scale, it's good...
If it's written on a famous journal, then it must be true...
If a famous author, or professor, says that a certain technology is good, then it must be good...
See? The point is... I am always a consumer, who copies information from others... without being able to prove that the claims are indeed correct...
And this is exactly the reason why we need to learn those fuzzy mathematic stuffs....
We need to analyze the behavior of a certain system... and mathematic provides a way to model them unambiguously...
We need to prove that some technology is better than the other.... and mathematic provides an unambiguous proof...
We need to prove that our innovation is the best... and mathematic provides the way to show it to the world...
I believe that mathematic is a key to innovation in Information Technology...
No wonder... in this university, they teach so much mathematical things....
cause this is where innovation starts...
P.S. : Make innovation guys.. don't be trapped in only practical things!
Showing posts with label Opinion. Show all posts
Showing posts with label Opinion. Show all posts
Monday, 21 April 2008
Thursday, 13 December 2007
Knowledge Sharing.. 1st semester
Before I came to TUe, I thought things are going to be ordinary. I mean, the workload should be almost the same as I had in Bandung Institute of Technology. However, my assumption is proved to be totally wrong. Although I don't have any other thing to do than study, there is still not enough time to absorb all of the materials which taught here. But rather than complaining, I should be glad that I got many different new lessons here. It means that I can improve much.
In this post, I would like to share several lesson which I learned in the university. Who knows that you might be interested in one of these topics...
In this post, I would like to share several lesson which I learned in the university. Who knows that you might be interested in one of these topics...
- Requirement Analysis, Design, and Verification. In this subject, we learn about MCRL2, a program which can generate state space from process calculus and analyze it (it's actually much more complex). State space generation is useful to check a safety property of parallel processes. For instance, if you want to create an automated system which runs by several independent robots in parallel, you need to model the process in order to ensure that those robots will not collide each other in the process. This is hard to do manually, but the tools (MCRL2) can do it for you.
- Generic Language Technology. It's about creating parsers to process any kind of languages using Meta-Environment. This tools enables us to check syntax of a language and transform it into another language. For instance, it can help you to read Java codes, detect mistakes, and transform the code into other type of language if there is no error in syntax checking.
- English.. it's might sound easy... but I found it a bit difficult as I only have 5 for my intial mark :P However, it is much improved now, don't worry...
- Software Architecting. This is one of my favorite. From the name, you might have guessed about the lesson learned here. Several type of software architecture is learned. Not only that, even the mechanism to evaluate them, using several type of matrixes and methodology. Most part of the course seems theoritic to me, but the lecturer once showed a tool which can measure the performance of an architecture for UML diagram. It's cool, dude..
- Metamodelling and Interoperability. Assume that a manager create an EPC diagram to describe a workflow in the company (EPC is used in SAP). Now, how can you check whether this workflow can handle all scenarios in the reality without any deadlock? In this lesson, I learn how to transform a diagram into another type of diagram. The advantage of this, is that some diagrams are easier to be checked formally, such as Petri Net. There is a tool to automate this transformation and checking, called Prom. The tool was explained in one of the lecture, and it was much more interesting than this subject :( . Prom is developed as a Process Mining tool.. given a set of process log, you can create a workflow diagram. Prom enable you to do that, and transform the output diagram into another type of diagram so that it can be checked in a formal method. It's cool!
- Web Information System. Ever heard about Web 2.0, Semantic Web, and Web Engineering?? In short, these are the lesson learned. In Web Engineering methodology, navigation model is separated from database/class modeling. This is useful if we want to exploit the power of hypermedia in web application. Web 2.0 is about the trend in current web application:Rich Internet Application, Mash-up, Folksonomy, and Harnessing Collective Intelligence. Semantic Web relates all of the information in the web using semantic annotation, using RDF and RDF queries seems as the key to integrate all of them.
- Adaptive system. For instance, we want to create a system which can adapt to user behavior. We can use several techniques, including Data Mining to provide such behavior. As an assignment (which I'm going to start in any moment from now..), we are told to create adaptive application using AHA! framework.
Labels:
Opinion
Subscribe to:
Posts (Atom)