Android
Programming language utilizes specialized form of Java. Android is
known to be a software stack consisting of an operating system, key
applications and middle-ware. It is ideal for different kinds of mobiles
and tablets.
that provide a detailed description of all
the aspects of an Android App along with the capabilities of an Android
platform. Please refer to the links below-
1. Official Developer Tutorial
– This is made by the android community and open source developers. It
is a getting started tutorial designed for beginner developers.
2.Official Developer Tutorials Community - This is created by android community and is designed for experienced developers.
3.Tutorial by Lars Vogel -This is free single page web based tutorial created by Lars Vogel.
4.Android Tutorials By Core Servlets
- This site consists of a series of android tutorial with exercise for
each section. It also has some other good Java related tutorials for
free.
5.Android Hive
– This is a android tutorials blog by a enthusiastic android developer
(Ravi Tamada) for sharing his knowledge and experience with the world.
Free Video Tutorials
These
video tutorials are a great way to begin with Android. It is a huge
tutorial series that is available online containing tons of free
content, which is bound to teach you coding in the best possible manner.
Please refer to the links below-
1. Chet Haase Android
Tutorials on YouTube - Some great and simple tutorial by maker of Google
and author CHET HAASE on youtube are, please see the links below:-
o DevBytes: View Animations DevBytes: View Animations o DevBytes: Property Animations DevBytes: Property Animations o DevBytes: Window Animations DevBytes: Window Animations o DevBytes: CrossFading Animations DevBytes: CrossFading Animations o 2.By Udemy
3.By OreillyMedia–
4.By MarakanaTechTV" target="_blank">By MarakanaTechTV
5.By Android User Group Free
E-books - The web is filled with over a hundred of free e-books on
Android programming containing all the basic concepts relating to the
language, both at the beginner and advanced levels. Please refer to the
links below-
1.Android Tutorial By Stanford University
2.Android Tutorial
3.Commonsware Android
4.Andbook
5.E Reading Llib Android eBook
If
you have recently decided to learn to code then we have something
useful for you. Some languages are easy to understand while some are
tough. You must have high ambitions and goals to learn programming.
There are active communities for some programming languages that can be
very helpful for you while learning. You need to learn fundamentals of
basic languages to begin with advance programming languages. Today we
have listed five programming languages for newbies.
|
|
1. Java:
Java is considered as the most influential
programming language. Most of the platforms, operating systems, devices
are based on Java. This Oracle’s programming language is very portable
and workable. The highest popularity of Java makes it incredibly
valuable if you are learning to code. The language is class based and
object oriented. The portability and applicability of Java makes it easy
to understand and grasp however, it is quite difficult to program
effectively and efficiently using Java. Many programming classes prefer
to begin with C or C++ as Java derives lot of syntax from them. Java
forces learners to think logically and analytically. It teaches you how
computer will process the data and information. The fundamental concepts
of Java makes it easy for you to understand the other languages and
technologies.
2. Ruby:
Ruby is an open source
programming language that focuses mainly on web apps. The language was
invented by Yukihiro Matsumoto in 1990s. Ruby is known for its easier
learning curve. It is very dynamic and easy for humans to understand.
Ruby supports procedural, functional and imperative programming
approach. Ruby’s official website features a quick start guide which is
good enough to understand the basics in short period of time. The
language has great community of developers behind the success of the
Ruby.
3. Python:
Python was developed by Guido Van
Rossum in 1980s. It is open-source and free. It is known as the
scripting language that allows programmers to easily read and understand
the code. Python follows procedural and functional programming
approach. Python is one of the most used high-level programming language
out there. The flexibility and scalability of python is too wide.
Python is used in many commercial applications as well. The open source
community of Python is pretty active. Python has reputation of
first-time programming language. Official tutorial on Python’s website
is easy to follow and very useful. There are number of online tutorials
and video courses available for new learners.
4. C/C++:
Both
the languages have been around for over four decades now. C is
extremely used imperative programming language. The languages have great
influence among all programming enthusiasts. C is used for general
purpose while C++ is a step further. C++ is used in in everything, right
from video games to productivity software. C and C++ are considered as
foundational languages in computer science and programming. A newbie
must learn C and C++ as many other languages have a strong base of these
two languages. Both the languages have object-oriented features such as
classes, virtual functions and templates.
5. JavaScript:
JavaScript
is a scripting language that was developed by Brenden Eich in 1990s.
JavaScript is often referred as JS. The language is totally different
than Java, this is a scripting language. Web is based on fundamental
technology borrowed from JS. It is a flexible object-oriented language
that connects large context of applications and services. JS is highly
dynamic language that gives wide flexibility to programmers. Most of its
syntax are derived from C. JavaScript is relatively easy to learn than
C. JS has high demand these days. You can develop great websites using
JavaScript. If you plan to do any development work in web, JavaScript is
a must learn for you.
The
programming world is often very choosy about the language they use for
their projects. This is perhaps best witnesses in the PHP vs Java
debate. While there are proponents of PHP, it is hard to ignore some of
the shortcomings of the language.
|
|
1. PHP to HTML to PHP
If you’ve used PHP, you would
know that you have to switch frequently between PHP and HTML. It becomes
quite tough to keep up with what you’re coding in and when.
2. Markup mixing
The
basis of PHP is to mix HTML with controller logic for the server. This
isn’t a good practice and should be avoided. But avoiding it pretty much
defeats the purpose of using PHP, making Java the better choice.
3. Nomenclature
Commands
and functions in PHP have weird and inconsistent nomenclature. This is a
big negative for any language. The API isn’t well thought out, which
makes it difficult to get a hang of it.
4. Sort
Have
you seen the number of sort functions that PHP has? Java has one sort
function, while PHP has multiple, which is unnecessary and confusing. As
a programmer, one sort function is enough and having more makes it
difficult to understand what to use where.
5. Open Source
Is
PHP open source? Yes. Is everything about it open source? Definitely
no. In fact, many have said that the most important aspects of PHP
aren’t open source, which again defeats the purpose of being open source
in some ways. Caching is a good example of this.
6. Broken Namespaces
If
you’re going to use namespaces, then make sure you’re using PHP 5.3,
which is when namespaces first started. If you don’t use PHP 5.3 then
ensure that your code doesn’t collide with any of the libraries because
it will conflict with the fact that everything was global in the old
days.
7. Broken Type Safety
(string)"false" == (int)0
See
that expression above? In PHP, this expression is valid. This means
that a string is equal to an integer, which is just crazy. The designers
really needed to take another look at this one.
8. Options and redundancies
Options
are always good in life, but not when you’re coding. Sure, it is good
to have some options, but too many options and redundancies are bad.
That is what happens in PHP, there are too many ways to do the same
thing. As a result, it is very difficult to simplify your code in PHP.
Java,
considered one of the best programming languages ever, has so many
reasons to become the favourite among developers. Java's popularity has
been growing immensely and with new versions, performance has kept
improving and Android app development has been made easier. In terms of
job opportunities too, Java is the best language to learn. So here we
will discuss the top ten reasons why Java language should be learnt
anyhow, without any miss.
|
|
Reason #1:
Java is the programming language which
can be learnt in the easiest way possible. Java's syntax is fluent and
it makes it easy to read Java programme and learn it faster than other
languages. If the learner gets familiar with installing JDK and setting
up PATH, then it's easy to write programme in Java.
Reason #2:
Java
is an Object Oriented Programming language and it also helps to keep
system modular and flexible. If the key concept of OOPS is clear to you,
then Java can help with its best practices and design patterns. Java
promotes use of SOLID and Object oriented design principles in form of
open source projects.
Reason #3:
Java has rich
API and it's highly visible with Java installation. Java programming
beginners usually code applets which provide animation capability. It
also provides API for I/O, networking, utilities, xml parsing, database
connection and more.
Reason #4:
Java has huge
contribution by Eclipse and Netbeans and coding in IDE is a huge
pleasure. DOS Editor and Notepad help in code completion and they also
provide powerful debugging capability. Java development is made easier
by IDE as IDEs make it easy to search, refactor and read codes too. Java
platform has several tools for building Java applications too.
Reason #5:
Java
can be used anywhere, thanks to open source libraries. Great libraries
have come from Apache, Google and other similar organisations and Java
development is made easier, faster and cost effective too.
Reason #6:
Java
gets huge strength from communities as communities contribute a lot to
share knowledge. Java has many active forums and these forums help Java
beginners a lot.
Reason #7:
Cost is always an
important factor for learning any language and as Java is a free
language, you don't need to pay anything to create any Java application.
Java is mostly popular for this reason and Java programmers are easily
available for any enterprise too.
Reason #8:
Java
has some great piece of documentation which discusses Java API and the
method of coding with Java. With IDE, Javadoc doesn't require any
browser now as it can be opened in an IDE window only.
Reason #9:
Java
complies with every platform and this is one of the main reasons behind
its popularity. Java's tagline itself proves how much exciting it can
prove for any programmer - "write once run anywhere".
Reason #10:
Java
is prevalent everywhere – on desktops, on mobiles and across every
platform. Java programmers are highly available and that's why every
organisation prefers Java to develop any new programme.
Would you rather learn a programming language by sitting down and
reading books on it? Well, we're not saying that's not important, but
once you have acquired some skills in the language, challenges and
contests based on that language are the best ways to learn it at an
advanced level. Try these websites out for challenges, competitions and
even games that'll teach you Ruby!
|
|
1. Ruby Quiz:
This website hosts a quiz on every Friday, giving users the weekend (48
hours) to solve the quiz. The solutions can then be posted on the
discussion forums.
2. CodeKata:
These are practice sessions on Ruby that help you sharpen your skills
in the language. Each practice session is known as a Kata.
3. Project Euler:
The list of problems hosted on this website is growing by the day. You
usually need to solve the problems using mathematics. You can check and
tally your answer once done.
4. Ruby Programming Challenge for Newbies:
If you’re an expert Ruby user then these challenges may not be as
interesting for you. The challenges hosted here are usually posted by
the community itself.
5. Coding Dojo:
In martial arts, the dojo is the place for training and sparring. This
is a website where a group of coders come together to work over a
particular problem (kata).
6. Ruby Battleship:
This website hosts an online Ruby battleship competition. You have to
build your own player and then submit it. Install Limelight to watch
your player battle.
7. RRobots:
This is a pretty old competition or game for Ruby. You build your own
artificial intelligence in this and control the robot tanks and destroy
your enemies.
8. RubyWarrior:
This is a game that teaches you Ruby in an interactive manner. In this
game, you play a warrior who has to climb to the top of a set of stairs.
Only, you have to do this using your code.
9. Rails Rumble:
This competition was first started in 2007 and has been going on since
then. You get 48 hours to develop a web app in Ruby and you have to do
your best.
10. TechGig: This is another website that you can use in order to participate in Ruby and Rails contests and test yourself against others.
ava
may not be the newest programming language around, but it is still one
of the most popular. This is an Object Oriented Programming (OOP)
language, which has become a mainstay in most enterprise and home
projects.
Here are a few good design principles you should follow:
|
|
1. DRY
DRY stands for Don’t Repeat Yourself, which is
pretty self explanatory. This means that you shouldn’t be duplicating
your code in a program. If a code fragment is appearing in two places,
then you would do well to turn it into a method instead of writing the
entire fragment again. Lack of duplication helps in easy maintenance of
the code.
2. Encapsulation
Whether your project
gets bought over or whether you work on it yourself, your code will
always change. So, it is good to encapsulate the part of the code that
you think will be changed. This makes you code easy to maintain and
test.
3. Design Principle
Here you should try and
follow an open closed design principle. This means that you classes,
functions or methods should be Open so that new functionality can be
added easily. The Open Closed Design Principle focuses on this aspect
and makes it possible to avoid unauthorised changes to already tested
and working code.
4. Single Responsibility Principle (SRP)
According
to this principle, a class should be handling a single functionality.
In addition, there should be more than one reason for a developer to
change a class from what it currently does. For example, if you have
multiple functionalities in a class in Java then you might face problems
when you are coupling this fake Java.
5. Dependency
The
framework that you use already provides you dependence, which means
that looking for it a additionally will be a waste of time. You can also
use byte code instrumentation as well. Some Aspect Oriented Programming
(AOP) framework already does this. Lastly, you can also make the use of
proxies.
6. Composition over Inheritance
According
to many programmers, composition is more important than inheritance.
They say that you should be focusing on the composition of your program
than on employing a flexible inheritance structure. This is because
composition allows you to change the behaviour of a class at runtime.
Interface on the other hand allows you to use polymorphism, providing
the flexibility to replace something with better implementation.
7. Liskov Substitution Principle (LSP)
This
principle states that you must be able to subtypes for super types.
This means that any methods or functions in your program that are making
the use of super class types, then they should also be able to work
with the sub class. It is in close relation to SRP and the Interface
Segregation Principle.
8. Interface Segregation principle (ISP)
This
principle tells you to ensure that clients do not implement any
interface that it doesn’t use. In Java, an interface has the
disadvantage from the design point of view, to implement all methods
before the classes can use it;
9. Programming for Interface
A
programmer should always be programming for the interface and not for
the implementation that will give them flexibility in code. Make use of
interface types on variables and return types on methods. In addition,
argument types should also be use.
10. Delegate
Delegate the tasks of your program to specific to classes. An example of this would be the equals () and hashCode() method.
Java and Javascript are not the same things. Java is a “write once,
run anywhere language”. In simple terms it can be run on any device
anywhere. We have an interaction with Java on daily basis. Java is one
of those programmes which you usually download whenever a notification
comes on your desktop. Java runs on most enterprise desktops and this
programming language is one of the most sought after ones. There is a
huge market for this language. Let's go through 10 easiest ways which
can teach you Java without much efforts:
|
|
1. Oracle's Introduction to Basics in Java:
Not only Java, but for any programming language you need to start from the very scratch, the basics. The official Oracle website
provides a great introduction to Java which explains what is Java and
how it works. There are a lot of resources too for further learning but
the necessary tools are quite required to begin learning Java.
2. Book on introduction to the programming language:
Introduction to Programming in Java
is a great resource, and it is being presented by one of the top
universities in the world. With this book you can learn some quality
stuff which is essential to the process of learning Java.
This is
one of the most beginner friendly resources for learning Java, though
it will sound like a little bit technical. Packed with images, samples,
preview code and documentation this book can be of great help for any
Java learner.
3. Online tutorial on Java:
Interactive tutorials have also become an essential tool to teach you Java smoothly. This interactive tutorial
is not that much technical, though, but at the beginning stage this
help will be quite useful. Additionally, you'll get much help if you are
able to load some code and test it practically.
4. A book to give you a harder tutorial:
This book, Learn Java the Hard Way,
doesn't come for free like the others. But it's again a great resouce
and also user-friendly. So if you are ready to spend $20 for this book
then you'll surely love this one. First 16 chapters of the book come
free online. Click here to have a look.
5. Programming by Doing:
This website
has been designed by Learn Java the Hard Way publisher only and this
site inspired the book also. You will find a lot of challenges which you
don't require at the beginning stage of programming. But if you succeed
through these challenges then your programming skills will get toughre
and better. This is the absolute best way of learning Java.
6. Java for Beginners:
You
may like video content for better learning and it's actually a great
idea to have a grasp on the essentials of any programming language
including Java. It's a free Udemy
course which has already 100,000 students enrolled into it. Led by
software engineer John Purcell you get 20 hours of content including
total 70 lectures. There is also an in-built support system for asking
questions.
7. CodingBat:
The design may have a different impression on you from what actually it is. CodingBat
(previously known as JavaBat) is one of the best ways to learn Java for
free within your own browser in an interactive mode. This site offers
interactive education but there are certain things which you might
experience with CodingBat. CodingBat is like you can do whatever you
know and pick from what you think you're capable of. There are plenty of
tutorials given for each section and you can learn them quickly.
8. Beginners' Tutorials:
The New Boston
has a great collection of introductory videos for a lot of programming
languages including that of Java. 80 step-by-steo videos could be found
here which teach Java thoroughly. It's an increadibly useful resource
for anyone who wants to learn Java from the basics with utmost
determination. The comments will provide deep insight into the language.
9. Object-Oriented programming with Java:
This is a University course
which will be completed within 6 weeks. It's targeted for beginners and
everything can be done within your browser. It has the best tutorials
on how to install Java and other necessary tools. You will learn all the
basics of computer programming, algorithms and object oriented
programming using this language.
The second part of this course
is another 6 weeks of programming. It means you will learn Java within
12-13 days and when you are done you will be able to build your own apps
and will start thinking like a Java programmer.
10. Java Programming Exercises:
This is another website
which provides programming exercises designed for Java which contains
answers to all the puzzles. It's important to practice otherwise Java is
not easy to master. There are thirty exercises and never give up if you
are not able to do.
We hope the resources, books and websites
will help you a lot to become a Java developer or just build own apps
as a hobby. Happy Java time!
Learning
Computer Science has never been easier than it is today. Well, you will
have to work hard, but you can find courses more easily. Here are 100
courses on Computer Science from the best universities across the globe. And, did we mention, they all are free! Have a dekko:
| Advanced Data Structures - Free Online Video, Free Course Info & Video - Erik Demaine, MIT |
| Advanced Operating Systems Structures and Implementation - Free Online Video , Free iTunes Video , John Kubiatowicz, UC Berkeley |
| Android Development - Free iTunes Video -David Fisher, UC Berkeley |
| Artificial Intelligence – Free iTunes Video – Free Online Video & Course Info – Patrick Winston, MIT |
| Artificial Intelligence - Free Online Video - Free iTunes Video - Pieter Abbeel, UC Berkeley |
| Artificial Intelligence - Introduction to Robotics - Free Online Video , Free iTunes Video, Free Course in Multiple formats – Oussama Khatib, Stanford |
| Artificial Intelligence - Natural Language Processing - Free Course in Multiple formats - Christopher Manning, Stanford |
| Artificial Intelligence - Machine Learning - Free Online Video , Free iTunes Video , Free Course in Multiple formats - Andrew Ng, Stanford |
| Artificial Intelligence - Free Online Video , Free Video Download - P.Dasgupta, IIT |
| Basic Concepts of Operating Systems & System Programming - Free Online Video , Free iTunes Video - Anthony Stoica, Anthony Joseph, UC Berkeley |
| Bits: The Computer Science of Digital Information - Free Course in Multiple Formats - Harry Lewis, Harvard |
| Blender 3D Design - Free iTunes iOS Course , Course Info - Neal Hirsig, Tufts |
| Building Dynamic Web Sites - Free iTunes Video & Audio , Free Course Video & Audio - David Malan, Harvard Extension |
| Building Mobile Applications - Free iTunes Audio , Free Course Info & Video - David Malan, Harvard Extension |
| Codecademy - Web Site |
| Coding Together: Apps for iPhone and iPad (2012) - Free iTunes Video - Paul Hegarty, Stanford |
| Coding Together: Apps for iPhone and iPad (2013) - Free iTunes Video - Paul Hegarty, Stanford |
| Computational Camera and Photography - Free Online Audio , Course Info - Ramesh Raskar, MIT |
| Computational Discrete Mathematics - Free Web Course - Carnegie Mellon |
| Computer Architecture - Free Online Video , Free Video Download - Anshul Kumar, IIT Delhi |
| Computer Graphics - Free Online Video - Free Video Download - Sukhendu Das, IIT |
| Computer Language Engineering - Free Course Materials & Video - Martin Rinard, MIT |
| Computer Networks - Free Online Video , Free Video Download - S.Ghosh, IIT |
| Computer Systems - Free iTunes Video - Stan Warford, Pepperdine |
| Computer System Engineering - Free Course Materials & Video - Robert Morris & Samuel Madden, MIT |
| CS50, Harvard's Introductory Computer Science Course - Free Online Video , Free Course Materials & Video , Free iTunes iOS Course - David Malan, Harvard |
| CS50, Harvard’s Introductory Computer Science Course (2013 Update) - Free iTunes Video , Free Online Video , Course Information (Background) - David Malan, Harvard |
| Database Systems Design - Free iTunes Video - Rob Meredith, Monash University |
| Data Structures - Free iTunes Video , Free Online Video - Paul Hilfinger, UC Berkeley |
| Data Structures and Algorithms - Free Online Video - Richard Buckland, University of New South Wales |
| Data Structures - Free iTunes Video - Stan Warford, Pepperdine |
| Design in Computing - Free Online Video - Richard Buckland, University of New South Wales |
| Developing Apps for iOS 5 (iPhone & iPad) - Free iTunes Video - Paul Hegarty, Stanford |
| Developing iOS 7 Apps for iPhone and iPad - Free iTunes Video - Paul Hegarty, Stanford |
| Developing iPad Applications for Visualization and Insight - Free iTunes Video - Niki Kittur, Carnegie Mellon |
| Discrete Mathematical Structures - Free Online Video , Free Video Download - Kamala Krithivasan, IIT |
| Discrete Mathematics and Probability Theory - Free Online Video , Free Online Video 2 - Umesh Vazirani, UC Berkeley |
| Discrete Stochastic Processes - Free Online Video , Free iTunes Video , Free Course Materials & Video - Robert Gallagher, MIT |
| Discrete Structures - Free iTunes Video - Sergio Dibiasi, Rutgers |
| Discrete Structures - Free iTunes Video - Stan Warford, Pepperdine |
| Efficient Algorithms and Intractable Problems - Free iTunes Video , Free Online Video , Free Online Video 2 - Christos Papadimitriou & Satish Rao, UC Berkeley |
| Foundations of Computer Graphics - Free Online Video - Ravi Ramamoorthi, UC Berkeley |
| Great Insights in Computing - Free iTunes Audio & Video - Rutgers |
| Higher Computing - Free Online Video - Richard Buckland, University of New South Wales |
| Human-Computer Interaction Seminar - Free Online Video , Free iTunes Video - Multiple Staff, Stanford |
| Innovative Computing - Free Online Video - Multiple Profs, Harvard |
| Intensive Introduction to Computer Science Using C, PHP, and JavaScript - Multiple Formats - Free Online Video , Free iTunes Video - David Malan, Harvard |
| Introduction to Algorithms - Free iTunes Video , Free Online Video , Free Course Materials & Video - Prof. Charles Leiserson & Erik Demaine, MIT |
| Introduction to Computer Graphics & GPU Programming - Free iTunes Video - Eric Chan & Hanspeter Pfister, Harvard |
| Introduction to Computer Programming for Scientists and Engineers - Free iTunes Audio , Free iTunes Video - Roberto Horowitz, UC Berkeley |
| Introduction to Computer Science and Programming - Free Online Video , Free iTunes Video , Free Courses Materials & Video - Eric Grimson, John Guttag, MIT |
| Introduction to Computer Science: Programming Methodology - Free Online Video , Free iTunes Video , Free Course in Multiple formats - Mehran Sahami, Stanford |
| Introduction to Computer Science: Programming Abstractions - Free Online Video , Free iTunes Video , Free Course in Multiple formats - Julie Zelenski, Stanford |
| Introduction to Computer Science: Programming Paradigms - Free Online Video , Free iTunes Video , Free Course in Multiple formats - Jerry Cain, Stanford |
| Introduction to Computer Architecture (2013) - Free Online Video , Course Info - Onur Mutlu, Carnegie Mellon |
| Introduction to Computer Architecture (2012) - Free Online Video , Course Info - Onur Mutlu, Carnegie Mellon |
| Introduction to Computer Graphics - Free Online Video , Free Video Download - Prem Kalra, IIT |
| Introduction to Computing for Non-Majors - Free iTunes Video - JT Chirco, Rutgers |
| Introduction to Computing - Free iTunes Video - JT Chirco, Rutgers |
| Introduction to Electrical Engineering and Computer Science I - Free Online Video , Free iTunes Video , Free Courses Materials & Video - Multiple Professors, MIT |
| Introduction to Embedded Systems - Free iTunes Video , Free Online Video - Professors Sanjit Seshia, Edward A. Lee, UC Berkeley |
| Introduction to Formal Systems & Computation - Free iTunes Video - Multiple profs, Harvard |
| Introduction to Information Studies - Free iTunes Audio - Robert Frost, University of Michigan |
| Introduction to Problem Solving & Programming - Free Online Video , Free Video Download - Deepak Gupta, IIT |
| iPhone Application Development in iOS5 (Fall 2011) - Free iTunes HD Video , Free iTunes Standard-Def Video |
| iPhone Application Development (Spring 2009) - Free iTunes Video - Stanford |
| iPhone Application Development (Winter 2010) - Free iTunes Video - Stanford |
| Linux Implementation/Administration Practicum - Free iTunes Video - Tulio Llosa, U of Illinois, Springfield |
| Logic & Proofs - Free Web Course - Carnegie Mellon |
| Machine Structures - Free iTunes Video - David Culler, UC Berkeley |
| Machine Learning - Free iTunes Video - Yaser S. Abu-Mostafa, CalTech |
| Massively Parallel Computing - Free iTunes Video - Harvard |
| Mathematics for Computer Science - Free Online Course Materials & Video - Tom Leighton, MIT |
| Media Programming - Free Web Course - Carnegie Mellon |
| Methods of Mathematics - Free Online Video - Free iTunes Video - Per-Olof Persson, UC Berkeley |
| Mobile Software Engineering - Free Video + Courses Info - David Malan, Harvard |
| Multicore Programming Primer - Free iTunes Video - Free Online Video & Course Materials - Saman Amarasinghe, MIT |
| Online Graphics - Free Online Video - Ravi Ramamoorthi, UC Berkeley |
| Operating Systems and System Programming - Free iTunes Video , Free Online Video , Multiple professors, UC Berkeley |
| Performance Engineering of Software Systems - Free Online Video , Free Video & Course Info - Multiple Professors, MIT |
| Principles of Computing - Free Web Course - Carnegie Mellon |
| Principles of Digital Communications I - Free Online Video , Free iTunes Video , Free Online Video & Course Info - Profs Gallagher and Zheng, MIT |
| Principles of Digital Communications II - Free Online Video , Free Online Video & Course Info - MIT |
| Probabilistic Systems Analysis and Applied Probability - Free Online Video , Free Video & Course Info - John Tsitsiklis, MIT |
| Programming Languages and Compilers - Free Online Video - Paul Hilfinger, UC Berkeley |
| Programming Languages and Compilers - Free Online Video - Web - Ras Bodik, UC Berkeley |
| Programming for Designers - Free Online Video - UNSW |
| Python - Free Online Video - Nick Parlante, Google |
| Quantum Computing for the Determined - Free Online Video - Michael Nielsen, The University of Queensland |
| Responsible Computing - Free Web Course - Carnegie Mellon |
| Search Engines: Technology, Society and Business - Free Online Video - Marti Hearst, UC Berkeley |
| Software as a Service - Free Online Video - Armando Fox and David Patterson, UC Berkeley |
| Software Engineering - Free Online Video , Free iTunes Audio , Free iTunes Video , Web - Multiple Professors, UC Berkeley |
| The Beauty and Joy of Computing - Free iTunes Video , Free Online Video - Brian Harvey, UC Berkeley |
| The Beauty and Joy of Computing - Free Online Video - Web - Dan Garcia, UC Berkeley |
| The Future of the Internet - Free iTunes Audio - Ramesh Johari, Stanford |
| The Society of Mind - Free Online Video , Free iTunes Video , Course Info - Marvin Minsky, MIT |
| The Structure and Interpretation of Computer Programs - Free Online Video , Free iTunes Video , Web - Brian Harvey, UC Berkeley |
| Understanding Computers and the Internet - Free iTunes Audio & Video , Free Course Info & Video , David Malan, Harvard University |
| Visual Navigation for Flying Robots - Free Online Video - Juergen Sturm |
| XML with Java - Free iTunes Audio , Free Course Info - David Malan, Harvard |
|
|
|
Rate this news:
    (1 Votes)
|
|