Wednesday, September 12, 2012

Online Courses


Steven Leckart shows his excitements about the online Artificial Intelligence course offered by Stanford in his article on Wired. The class was taken by Professor Sebastian Thrun of Stanford University, one of the leading people in the field of Artificial Intelligence.

Many students do not get the chance to be admitted in a university. Even if some of them get the chance, may be the quality of the offered courses are not up to the mark. Online courses now make it possible for everyone all over the world to register for courses offered by the best universities, mostly for free. In my opinion the first major advantage of online courses is that the high quality courses are now accessible by anyone anywhere, and free. It is very convenient for someone who misses the chance of pursuing higher education due to the financial weakness. One can now register for a course of his/her choice. For most of the courses, the class hours are flexible. This flexible timing is very helpful for those who work. Also the online assessment quizzes help the student to evaluate himself.   

Lack of interaction between the instruction and the student is one of the main limitations of the online courses. Sometimes students need to submit his/her questions online and then need to wait for the instructor to respond to the questions. Also the chances of class discussions are very limited here. Although there are some scopes of improvements, online courses offered by the Universities are a good opportunity for peoples who want to learn.    

Monday, September 10, 2012

Paper Blogs 01


Reference Paper

Challenges and Opportunities in Building Socially Intelligent Machines
Laurel D. Riek and Peter Robinson
(Digital Object Identifier 10.1109/MSP.2011.940412)
  

Overview of the Paper

Understanding the social context is one of the main challenges which are faced by the researchers working in the field of social computing, social signal processing, human-machine interaction, robotics, computer vision and any other field that is related to automatic human behavior analysis. In this paper, the authors discuss some of the challenges to build a real-time system that can process the contextual information and also and respond to it.

Social context is defined here by the environment where a person is situated. There are some factors which may influence the behavior of that person. These factors are situational context, social role, cultural conventions and social norms. Situational context and social roles may change very rapidly, even in between the same group, and very hard to detect by the machine. Again, people of different cultures show deferent social behaviors. A system trained with some specific culture may not work well while dealing with a different one. Social norms also vary widely by different cultures and locations. As a result, it is very hard to build an intelligent machine which can handle these factors.  

Though some applications have adopted some techniques to realize certain situational contexts, it is a very difficult and broader problem to make the machine learn the cultural context on the fly. Even after solving all these problems by the researchers, the large practical problem still remains, that is unpredictability of the human. Some progress can be made to tackle the challenges of this field by using the context in clever ways.    

 

Evaluation

The overall social context is defined here in the first part. After the definition, different practical problems associated with different factors are presented with examples. Then in the last part, the practical challenges associated with exploiting the contextual information to build an autonomous system are described.  

Validity of the Paper

In this paper, the practical challenges associated with building an intelligent system which can exploit the contextual information, are introduced and discussed. This creates an opportunity for future researchers in this field to use these observations. In conclusion, a valid assumption is made that some progresses can be made on tackling the challenges faced by the researchers in this field, by using the context in clever ways.

Improvement Scopes

I think in this paper the main challenges faced by the researchers in this field to build an autonomous system which can exploit context, are presented in a very nice and compact manner. Some improvements achieved by the research community by this time can be added in the next version.

Further Reading

One of the interesting articles, which are cited by this paper, is “Capturing order in social interactions [Social Sciences]”, by Alessandro Vinciarelli (Digital Object Identifier 10.1109/MSP.2009.933382) (PDF Download). In the cited article, the author presents some of the most promising research directions aimed by the artificial social intelligence community and social signal processing community.

Monday, September 3, 2012

What Every Computer Science Major Should Know


In his article “What every computer science major should know”, author Matt Might discusses some CS subjects and topics, and proposes that every computer science major should know these concepts. I mostly agree with the view of the author.

I completely agree with Matt’s proposal about the programming languages. In my opinion, every CS-major should know at least two major paradigms of programming languages, structured programming language (C) and object oriented programming language (C++ and Java) paradigm. They may need to work on a different programming language or a different paradigm in their latter life; but it should not be hard for them to learn a new one after learning these two. I also agree with author’s view about ‘The UNIX Philosophy’. Being comfortable with UNIX systems will not only help them in debugging there program, but also help them to design and develop operating system level codes.

Discrete Math, Data Structures, Algorithm and Computer Architectures should be in the core of the undergrad CS syllabus. These courses provide the necessary concepts and tools to approach a problem efficiently, which every CS student must know. Author’s suggestions about these subjects are very clear and I completely agree with it.

However, I do not fully agree with author’s view about Parallel Computing and Formal Methods. These concepts are also important, but in my opinion these courses are more on the side of specialized knowledge; rather than on the side of general CS knowledge that every CS major should know. These courses should be in the list of elective subjects. I want to add one more topic in the list, which is ‘Probability Models’ concept. This subject may be covered partially in ‘Statistics’, but a clear knowledge about probability models will help a student to approach and formulate a problem more efficiently, mostly in the field of artificial intelligence and computer networking.
 

Sunday, August 26, 2012

Hello world!

int main()
{
        printf("Hello world!");
        return 0;
}