Monday, May 21, 2012

8 FREE Online Computer Science Courses for Beginners and Advances Users

Many people want to learn computer science, but not many can afford to do so at the best institutions.  Fortunately many of the best institutions in the world are opening up their courses so you can take a course from Stanford, MIT or Harvard simply by going online and learning at your own pace.  Here are 8 ways you can take advantage of this.

Introductory Courses (Little Or No Experience Required)

MIT’s Introduction To Computer Science For A Good Overview Of The Science

MIT’s Introduction To Computer Science is a free course that sounds like it tries to keep the students engaged. Rather than focusing on a bunch of broad topics in an un-centered manner, it talks about a topic, and then applies that concept to an example that will get techies excited about learning computer science. (The description specifically references the Roomba, that robot that cleans your floors for you, and has recently been overtaken by the superior Mint robot.)

Harvard’s Intensive Introduction To Computer Science: For Those Who Are Committed

Harvard’s Introduction To Computer Science Course is what you’d expect from a basic course, except harder. Why? Because this is Harvard, and they make all of their science classes extremely hardcore. So, you’ll be focusing on algorithms, software development, multiple programming languages, and more. If you’re really looking to get deep into learning computer science, then this is definitely your course.

Learn Binary Numbers In 60 Seconds From A YouTube Video And Increase Your Geek Cred

This video that teaches you binary numbers in 60 seconds is less of a course and more of a quick learn for anyone who likes to call themselves a geek or a tech guy. If you don’t know binary numbers, then you’re not a true geek. Fix that now by taking a minute of your time to learn something new – who knows, you might even kindle an interest in computer science! 0110011101100101011001010110101101110011 (Geeks)

University of Washington’s Basic Computer Science Course on HTML For Those With No Knowledge Of HTML

The University of Washington has put out a very simple starter course on HTML – this is really for people with no prior experience in HTML. Just from blogging and doing an odd website creation here and there, I got a 100% on their post-course quiz, so this can’t be that hard of a course. But, I also am versed in HTML, so if you don’t know if an H3 tag is bigger than an H2 tag, this class is for you.

Connexions’ Introduction To Computer Science Course: Programming In The C Language

The Hanoi University of Technology has posted a basic course for learning to program using C, the older version of C++ that some programmers still prefer. (The two are very similar, so don’t feel like you’re learning something completely outdated.) This is great for those with little or no programming knowledge in the C language. If you’re an expert, this course isn’t really for you.
billgates 8 FREE Online Computer Science Courses for Beginners and Advances Users 

Intermediate and Advanced Courses (Programming Experience Required)

Udacity’s Online Computer Science Courses On Various Topics

Udacity could really be placed into both categories, since it has both basic and advanced free computer science courses, but it offers a greater of number of advanced lectures, so I felt that it would be wise to place it in this section so that no newbies find themselves in deep waters. This is a site that really has a ton of different free courses, from programming a robotic car to applied cryptography. (Some pretty hard stuff.)

Stanford’s Machine Learning Online Computer Science Course

When some people think of machine learning, they think of robots. This is not entirely true – machine learning is really more up the alley of autonomous cars, speech recognition, and many other types of atypical non-robotic activities. (Google’s software engineers do a lot of machine learning.) You should have a solid programming background before you dive into this course!

Coursera’s Introduction To Databases Course

For the Introduction To Databases Course, you will need some programming knowledge in order to grasp the more advanced material about structuring databases. Basically every type of relevant software has something to do with databases, so this is definitely a great course for all aspiring programmers to take!

Tuesday, May 8, 2012

Is it possible for hackers to access my computer's webcam?

Yes, bad guys can definitely access your webcam.

At this very moment, your operating system and browser have multiple security vulnerabilities that would allow an attacker to access your webcam. It is impossible for software vendors to identify and fix all the security bugs in their software. So, there are certainly many nasty bugs that they don't know about.

Don't believe me? Here's a real-world example.

In October 2011, I discovered a vulnerability in Adobe Flash that allows any website to turn on your webcam and microphone without your knowledge or consent to spy on you.

Video demo of the attack:


 How it Works

This attack works by using a neat variation of the normal clickjacking technique that spammers and other bad people are using in the wild right now. For the uninitiated:

Clickjacking is a malicious technique of tricking Web users into revealing confidential information or taking control of their computer while clicking on seemingly innocuous web pages.

— Wikipedia

Combine clickjacking with the Flash Player Setting Manager page (http://www.macromedia.com/suppor...) and you have a recipe for some sad times.

I reported the vulnerability to Adobe through the Stanford Security Lab, but they didn't respond for a few weeks, so I decided to post about it on my blog. It made headlines in CNET, Wired, The Register, Ars Technica, Gizmodo, etc. and so Adobe was forced to quickly fix it (which they did in less than 2 days). You can read the full explanation on my blog here: http://www.feross.org/webcam-spy/

Closing Thoughts

Keep in mind: I discovered this vulnerability in just a few hours, while procrastinating on studying for my final exams. That means I had no profit motive (I did this because I was curious) and limited resources (I just viewed the source code of Adobe's website).

Therefore, people with more resources and more to gain (like criminals and national government agencies) certainly know about similar or better vulnerabilities.

I used to think that people who put tape over their webcams were just paranoid or weird. After I discovered this vulnerability, that changed. :) Now I use the tape trick as well.