// you’re reading...


Chemistry for Software Engineers

Chemistry test tubes

An interesting question was recently brought up on the Computer Science forums. The Software Engineering program at the University of Waterloo requires a high school chemistry credit, as well as taking a university chemistry course in the first year of studies. Inspired by computers, but disliking chemistry, iluvchairs112 wonders:

what does chemistry have to do with software engineering at all?

And while the simpler truth is that a chemistry course is required for an accredited Engineering degree, there might be more to such choice of a curriculum. Even if not immediately apparent, there is certainly a common ground between Computer Science and the Science of Chemistry. wtd points out:

They’re checking to see if you can handle the basic rigors of scientific process.

Despite the subtle differences between Computer Science and Software Engineering, it all comes down to science – something that I think lacks in high school CS classes. We are too busy memorizing algorithms and there is little room for experimentation.

If the scientific analysis in Computer Science is outside the scope of high school curriculum, perhaps more traditional sciences such as Chemistry and Physics will infuse some good practises of a scientific process instead. After all, “Being a well-rounded person is a Good Thing” — wtd.

Read more


  1. Posted by iluvchairs112 | July 31, 2007, 8:45 am

    Nice article – good summarization.
    Although I am still puzzled … the scientific process can be learned in physics, can it not? I understand how physics relates to software engineering, so this makes sense. Would it not be better to be taking more computer related classes rather than chemistry?
    Agreed – being well rounded is good. Why must software engineers be well rounded in chemistry though?

    Reply to comment

  2. Posted by Tony | July 31, 2007, 11:30 am

    Physics would just be one course – two sciences make for a better foundation. You’ll be taking plenty of computer related courses in Software Engineering, so they want you to be better rounded. I know it seems ironic to miss out on a Computer Engineering class, though many high schools don’t even have that.

    I figure that for the purposes of a scientific foundation, any other science (in addition to physics) would do. You would probably draw as much experience out of biology. Though a credit in chemistry offers the additional benefit of Engineering accreditation, so the choice is clear. Just think of the Iron Ring — it’s worth putting up with a couple of intro chemistry courses ;)

    Reply to comment

  3. Posted by Skynet | July 31, 2007, 1:06 pm

    Having taken the course in question, I would disagree with the thought that “They’re checking to see if you can handle the basic rigors of scientific process.” As I recall, there was much more concept and theory than actual scientific derivation. After all, it’s “Chemistry for Engineers.” (aka: Someone’s already figured this out, let’s treat it as true and move on)

    As I stated on the forum, I believe that the primary reason behind including Chemistry (and Physics, and Electricity, etc) is that it is an Engineering program, and a SoftEng should be able to learn (if necessary) any aspect which may interfere with their program’s operation.

    When you take Chem, you learn about electrons, various types of metals (including things like silicon and germanium, key parts in computers). You’re also formally taught about the differences between various metals – what oxidizes, what doesn’t. When you take the Electricity and Magnetism course, the prof relies on you knowing these things already – knowing that like charges repel, knowing that silicon is a semiconductor. All of this information prepares you for the possibility of actually having to care about what goes on inside a computer at the low level, should your career ever throw that at you. Some software engineers take analog circuit design, which requires all of the foundations mentioned above. You may not need to care now, but you’ll have the knowledge to build upon if necessary, and it’s the potential to understand everything about your chosen field which will help you become an engineer.

    Reply to comment

  4. Posted by iluvchairs112 | July 31, 2007, 6:48 pm

    @Tony – personally I think it’d be better to be well rounded in something else that I enjoy or am good at (although I’ll probably end up being okay at chem anyway … I’d just much rather physics anyday). But thankfully biology isn’t a required course, I don’t think I could handle that. I guess my school is pretty lucky to have a Computer Engineering course, I wanted to take it just for a basis of engineering but no such luck. Although physics both relates to software engineering as well as has to do with the basic scientific process. Would physics not be much more important that chemistry?

    @Skynet – From reading what you wrote, I think I somewhat understand why chem is required. The knowledge of what goes on inside the computer and how it works … well that makes sense. I suppose it would be like all general high school courses, there is a part of the course that actually matters to your career path. I really don’t have enough knowledge about chemistry (as I haven’t taken it yet) to judge, but I get the feeling that’s what it’ll be like.

    After contacting the software engineering department at Waterloo (and explaining that I had the problem of gr 12 chem vs computer engineering) they told me that the first year chem course is a follow on from the gr 12 chem and that, even though some engineers do not use chemistry in their careers, the first year university course emphasizes problem solving rather than strict chemistry facts. Although I’m not convinced that chemistry is very useful for software engineering, I now have a little more understanding of it.

    Reply to comment

  5. Posted by Tony | August 7, 2007, 10:28 pm

    Indeed it is problem solving, and specifically problem solving in a remote field. Granted, chemistry on its own is not very useful for software engineering. Then again it’s not the only “doesn’t quite make sense” course that you’ll be taking. After all, University is often about the process of learning, and not necessary the specifics of what you learn ;)

    Reply to comment

  6. Posted by Choosing between Computer Science and Computer Engineering | CompSci.ca/blog | December 27, 2009, 6:22 pm

    [...] the systems — power management, thermodynamics, magnetic fields. Also, I’m not a fan of required Chemistry course. Personally, I’m not that interested in such level of detail, especially when the area of [...]

Post a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>