Showing posts with label vs. Show all posts
Showing posts with label vs. Show all posts

Software Engineering vs Computer Science

At The University of Auckland, you can get a Bachelor of Science (BSc), with a major in Computer Science (COMPSCI), and a Bachelor of Engineering (BE), with a specialisation in Software Engineering (SOFTENG). Naturally a common question we get is, whats the difference?

There are many opinions and explanations as to what is the difference between Computer Science and Software Engineering, including "there is no difference" and "one is a subset of the other". My answer has been developed over years of being asked this question at University Open days, Career symposiums, Industry events, and such like.

My answer has two parts — one philosophical and the other practical. The philosophical part is that the difference is one of theory versus practice. The goal of Computer Science research is to to develop a theory of "computation", to understand what computation means, what its limits are, and how it might be applied. Software Engineering is about building effective software systems efficiently.

Clearly there are close connections between the two. Software is the embodiment of computation. It is how most people experience computation, even if they dont think of it that way (any more than they would think of turning on an electric light as physics). While some aspects of computation do not require any software, or even a physical computer (e.g. a Turing machine), much of our understanding of computation is demonstrated through developing software.

But there are aspects of Computer Science that are at best a curiosity to those building software systems (Turing machines again) and there are topics that are clearly important to software engineering that have little to do with any theory of computation (requirements elicitation, for example).

The practical part of my answer is that the B.Sc (COMPSCI) is a 3-year general degree whereas the BE (SOFTENG) is a 4-year professional degree. The B.Sc. has relatively few restrictions as to what courses students must take (mostly science, and mostly in the Major), whereas the BE is very prescribed, with only a little opportunity for choice. Both the BSc and the BE meet the requirements of a university degree, as dictated by the Tertiary Education Commission (TEC), but in addition the BE is an internationally accredited engineering qualification.

So, if you want a professional qualification, you probably should consider the BE. If you would prefer a reasonable amount of flexibility and choice, the B.Sc would probably be the better option. If you are interested in different aspects of computation, then major in Computer Science. If you really want to be able to build significant software systems, then specialise in Software Engineering.

from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

Delete or edit this Recipe

Read More..

Home automation update

Last year I wrote about my first entry into the field of home automation and the Internet of Things. My first purchase was a combined motion sensor, video camera and Z-Wave hub that can control switches or lights remotely. The device, called Piper, also has sensors for temperature, light, and sound and contains a security siren. I then added some Belkin Wemo LED lights, that required a separate controller and then some OSRAM Lightify LED bulbs and light strips that required their own controller. Ok so now things were getting rather complex with three separate controllers controlling different things. This really reflects the state of the home automation market with many competing standards fighting for dominance; such as: Z-Wave, ZigBee, Hue, Wemo, and even Google and Apple now entering the fray.
   I then came across something called Smartthings that can talk to most of the different automation standards allowing a single controller to automate a wide variety of devices. Of particular interest to me also was that it supports open-source code allowing developers to make their own "SmartApps" for their own needs. which then they can share with the Smartthings community. For example, somebody might make a SmartApp to always ensure that the garage door is closed at sunset. Somebody else might make a SmartApp to turn on the irrigation system at Sunset for one hour, but only if it hasnt rained in the previous day. I now have a Smartthings hub controlling a variety of lights, a motion sensor, garage door opener, and video door bell. My favourite functionality is being told if the garage door is open if Ive left home and being able to remotely close it. The Ring video doorbell that lets me see whos at the front door and talk to them, even when Im not at home, is pretty cool as well.

from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

Turn off or edit this Recipe

Read More..

Compare How London Looks on Google vs Paintings From the 1700s

Nothing serious here, but just a delightful series of pictures that superimpose some 18th-century paintings of London streets over their corresponding Google Street View images. In many cases the streets have barely changed although the details have. View the full set of images on Wired.



from The Universal Machine http://universal-machine.blogspot.com/

IFTTT

Put the internet to work for you.

via Personal Recipe 895909

Read More..