Posts

Learning With Video Components

I have been trying using some videos while learning some subjects. Sometimes it works OK especially when I don't have books available. It works best when I have chance to listen very inspiring lectures delivered by people who are able to provide insightful views about subjects of interest, and those views are usually not from any books but from their own thoughts and experiences. But most time so far videos are not my favorite format I use to systematically learn something, even though I like watching videos to see how the video presenters deliver their work. (That is my very interest to watch videos actually.) If I plan to learn a subject, I prefer reading books, trying examples, and practicing by solving simple questions step by step. What bothered me most when I studied a subject by watching videos was that the time spent on the video-watching process was constrained strictly by the video length. If the videos were long, the learning process would be very likely an infor...

What Is Cloud Computing?

If you are just a user of the cloud, you are like a user of computers running Windows, Mac OS X, Linux, etc.   The operating systems and application programs provide a beautiful interface hiding the ugly underlying complexity.   For cloud computing, interesting topics include how the service is provided, discovered, organized in the cloud; and how the computing resources are managed efficiently in the cloud.  These topics certainly have their correlation with design and development of Operating Systems.  But they have their own special challenges because of the large scale magnitude and distributed characteristics of cloud computing.   In summary, learning Operating Systems certainly will guide us to solve new problems in the new modern context. 

For those who were born in China in 1970's

Challenges In Online Computing Classes

There are challenges that should be considered by online learners and teachers.  Based on my teaching experiences to teach Web-based class components, I summarize some prominent challenges for both teachers and learners.  First, reading in the online learning package might be overwhelming when learners just start to learn online.  Second, even though online learning makes self-paced learning possible, it requires a learner to be disciplined and persistent.  As a teacher, I am interested in the instructor role in an online class.  Here are some questions I ask myself.   1. How to guide students to read effectively and efficiently?  Some students are good readers, but others are not.  Traditional text books and lots of online materials are too much for students who are new to learn online.  How to help these students to maximize their learning from reading?  Working examples and problem-solving questions seem working fine with tex...

25 Google Interview Questions

1 Prepare Before Your Interview Do you prepare before your interview at Google? Of course you will. But how and where to start? This report will provide you a list of 25 questions collected from Web provided by Google interview candidates. The list of questions is focus on CS fields. 2 Questions The question listed as follows are not ordered based on any criterion. The programming languages are required to be used are usually not specific. You can practice using Java, C++, C, C#, etc. For each problem, you need figure out at least one solution. If there are multiple solutions to the problem, make sure you understand how to analyze the efficiency (both time and space). Describe a data structure as well as operations on the data structure. What is the difference between function overloading and overriding? Given a superclass A, a subclass B of superclass A where B overrides a function foo() in A, an instance of class B, how to invoke foo() defined in class A? How to check if tw...

Cloud Computing in CS Education

I enjoyed reading an article titled "plugging into the cloud" published in Crossroads Spring 2010 this weekend. I am using gmail and google calendar everyday. But like most people, I am also concerned with losing privacy and security by giving up my data in the cloud. I believe there are a lot of users like me have to trade off between the convenience of storage and computing power in the cloud and security not to own data. As a CS person, I am also interested in the opportunities and challenges for the cloud computing environment. For example, service software in the cloud have to scale well in the cloud. How to address this issue in CS Education directly, effectively, and efficiently? I plan to spend some time do more research on this topic.

About Javascript's Good Parts.

I watched the video titled Java Script-The Good Parts , by Douglas Crockford. In the video, Douglas talked about functional language features in JavaScript. JavaScript is a popular main-stream language and yet it has nice functional language features included in LISP and Scheme. He also talked about the benefits of dynamic typing system in JavaScript. He defended this feature by saying that JavaScript code usually was small and beautiful and worked nicely for its purposes. He commented that he wrote a compiler for JavaScript once but it turned out the compilation system didn't work as fast as expected, which made him appreciate the dynamic features of JavaScript even more. For students who are interested in designing, improving, and implementing programming languages, this is an inspiring video to watch and study.