Search Schools

Computer Science Degrees Insights

The following is adapted from Tony Targonski,  a student at the University of Waterloo, Canada who is pursuing a degree in what else, Computer Science.

degrees_of_computer_science.png

Computer Science

Computer Science may be done as a major in the Bachelor of Science degree or by choosing courses in the Bachelor of Information Technology degree that have a particular focus.

This is where one may get to design algorithms, mathematically figure out their efficiencies, and may actually get to write out code to implement the said algorithms in practice. For those who enjoy figuring out just how the code works, and generally code monkey around – this might be the program of choice.

Software Engineering

Probably the closest program to Computer Science. If Computer Science is about writing code, then Software Engineering is thinking about writing the said code.

Not quite the same level of involvement with the code. Software Engineering is more abstract, more “larger picture” focused. Lack of Pointer kung-foo is made up with non-technical skills such as communication and presentations. Management material education.

Computer Engineering

In many ways similar to Software Engineering, the Computer Engineering discipline deals with design of specialized type of software, and incorporates more hardware material into studies.

Here you get to design your circuit board, and program it too! Lower level coding, but for actual physical gadgets. Pretty cool.

Mechatronics Engineering

Mechatronics Engineering is an interesting program as it tries to integrate every other discipline from the above chart. Described as a mix of Software, Hardware, Mechanical parts, and lots of Maths, there was still room to include a couple of programming courses into the program’s schedule.

The broad scope may likely be appealing for those interested in picking up on a lot of new and varying material. Very management material course, as the education promises a middle ground that may unite all the other disciplines that are deemed to be unable to communicate well with each other.

Maths / Physics

There may be an option to ditch the computers all together, and pursue the pure logic, theory, and problem solving with the underlying Mathematics. Computer Science is inherently mathematical in nature, and to some there is an appeal in this direction of problem solving by numbers, theory, and without limitations and bounds of programming languages.

More About Cloud Computing

Here is a recent release from Forrester Research regarding Cloud Computing, which we have discussed prior here.

From Akamai to XCalibre, a new Forrester Research report examines intriguing cloud computing vendors. Get to know them: Like it or not, people in your company are already experimenting with the cloud, Forrester warns.

March 11, 2008 — CIO — Cloud computing looks to be a “classic disruptive technology,” says Forrester Research in an interesting new report published yesterday. For enterprise IT shops, cloud computing still poses some real risks, including an almost complete lack of service-level agreements and customer references, plus some genuine security and compliance concerns, according to Forrester. But even so, IT shops are tapping into cloud services for targeted projects: “There’s a high likelihood that developers inside your company are experimenting with it right now,” writes senior analyst James Staten in the report,”Is Cloud Computing Ready for the Enterprise?”

That analysis meshes with what we recently reported hearing from CIOs in “Cloud Computing: Tales From the Front.” The cloud isn’t new per se; enterprise IT has had access to the Internet and software-as-a-service for years. But now, some vendors are giving enterprises the chance to run not only hosted apps but also custom-developed apps in the cloud—with great flexibility to scale computing power on short notice, and to pay only for what computing power is used. Enterprise IT sees the promise and is experimenting, cautiously.

Which cloud computing vendors should be on your radar screen now? In its report, Forrester cites 11:

Akamai
Amazon
Areti Internet
Enki
Fortress ITX
Joyent
Layered Technologies
Rackspace
Salesforce.com
Terremark
XCalibre

Akamai, Amazon and Salesforce may be the most familiar to enterprise IT. Akamai offers application performance services that speed up apps for users of cloud services, while Amazon offers the Amazon Elastic Compute Service (EC2) and storage in the cloud. Salesforce is pushing hosted apps and what it calls Platform as a Service, to help developers create new software in the cloud.

Terremark, Layered Technologies, XCalibre and startup Enki all play more behind the scenes in the hosting business that fuels and manages the cloud.

Also prominent at the moment is 3Tera, maker of AppLogic, which Forrester describes as “cloud computing infrastructure software” and a “grid engine.” Basically, this is enabling software that lets a hosting provider put customer software in the cloud with a minimum of fuss, for starters. AppLogic works on physical servers and virtualized ones, enables cost-based reporting, and runs many applications “without redesign or reprogramming to a grid API,” among other benefits, Forrester notes. Check out the report for more details on all the vendors and Forrester’s take on the competitive landscape.

No doubt, cloud computing, especially as Amazon envisions it, is in its early days, complete with hype and confusing jargon.

Nonetheless, for IT execs, the sooner that you tune into how people in your enterprise are playing with the cloud, the better, Forrester’s Staten says. “Even if IT can’t justify leveraging clouds, your business units will,” he notes in the report’s conclusion. “Cloud is a compelling business proposition, infrastructure they can provision with a credit card, with low barriers to entry and to exit. Rather than block their efforts, learn from them.”

The Thesis Behind Ruby on Rails: Keep it Simple

If you wish to work in some of the tech jobs? Keeping up to date with the latest software and applications may be of help. One of the applications to learn is Ruby on Rails. Don’t know it yet? Better get moving.

Ruby on Rails is a web application framework that is intended to increase the speed and ease with which database-driven web sites can be created.  Ruby on Rails is an open-source Web application framework written in Ruby that closely follows the MVC (Model-View-Controller) architecture. This project, which is written in the Ruby programming language, is also known as Rails, or RoR.

The fundamental principles of Ruby on Rails are Convention over Configuration (CoC) and Don’t repeat yourself (DRY).

“Convention over Configuration” means a developer only needs to specify unconventional aspects of the application.

“Don’t repeat yourself” means that information is located in a single, unambiguous place.

The Rails programming conventions may allow you to write fewer lines of code to implement your application. Small code may allow for faster development and fewer glitches.  This makes the code easier to work with and to maintain. Rails may automatically create an entire set of CRUD (Create, Retrieve, Update, and Delete) operations and views on any database table. This scaffolding gets you up and running quickly. Because Rails uses intelligent reflection to automatically map database tables to Ruby objects, your application code and running database may already contain everything Rails needs to know.

The use of Ruby on Rails is focused on simplicity and productivity; letting the computers do the work.   In a few short years, the usage of Ruby on Rails has grown rapidly.

Here are some organizations that may use Ruby on Rails in the workplace:

Amazon.com
NASA
JP Morgan Chase
Yahoo
Oakley

The Mozilla Foundation

As most of you know, Mozilla is the name behind todays popular open source browser, Firefox. Mozilla is a global community dedicated to building these free, open source products. Another one you may know is Thunderbird email software.

Back in 2000, Mozilla created a non-profit organization that sponsors the Mozilla project and devotes its resources to promoting openness, innovation  and opportunity on the Internet. They do this by supporting the community of Mozilla contributors and by assisting others who are building similar opensource technologies benefiting users worldwide.

For more about the Mozilla Foundation and how you may contribute, click here to visit.

About Cloud Computing

The much hyped new area of technology known as “cloud computing” that centralizes computing and storage functions at data centers, and allows people with PCs or laptop computers and Web access to tap vast stores of information from afar. EMC is one of the pioneering companies.

In a virtual environment, companies install software on machines at one data center and workers use inexpensive computers equipped with software that allows them to run the software remotely.

Companies save money because technicians may perform maintenance from a single location, saving them the trouble of accessing equipment sprawled across the company. The technology makes it easier for companies to move operations in a natural disaster.