Skip to the content of the web site.

ECE 150 Fundamentals of Programming

IEEE Spectrum Magazine    MIT Technology Review    Wired Magazine    EDN Network    EE Times    Skeptic's Guide to the Universe

Authors: Douglas Wilhelm Harder and Prof. Hiren Patel

First, at the top of each page are links to sources of information relevant to scientists and engineers. Many if not all of the articles written in these sources is accessible by first-year students. We encourage you to consider reading articles from these sites.

The material in this course is broken into multiple categories, together with both required course material and optional material for students who would like to challenge themselves.

The course material consists of the material linked to in the left-hand menu under lecture materials together with some of the projects.

For students looking to explore beyond the scope of this course, there is a collection of links describing other aspects of C++, an introduction to C programming for those already proficient at C++, and an introduction to a pseudo-Assembly language that will be used as optional material.

To get started, there are three options for programming in C++ to begin learning:

  • The first is an on-line environment This allows you to author C++ programs and to execute them; however, there are no options to save your source code (other than to cut-and-paste it to a text file on your own computer). While you cannot do serious C++ programming in such an environment, it is never-the-less, a good place to start.
  • The second, which is discouraged for most students not familiar with the command prompt, is the direct use of the command-line interface to use a text editor (e.g., gvim, Emacs, Notepad++ or nano), a compiler and a command-line debugger. In each case, you will use a separate program to perform each aspect of code development.

  • The third, and most recommended approach, is to install an integrated development environment. This combines all of the features described in the previous point in a single user-friendly interface.

To help you install an IDE, please refer to the link in the left-hand column.

Note that there are other on-line environments that you can use; however, has the cleanest interface as well as an easy-to-remember URL. One issue with an on-line environment, however, is that there is no guarantee that they will be available; consequently, if you refuse to install an IDE and rely on, if the web-site becomes unavailable two hours before a project, this is entirely your responsibility and no extensions will ever be given for such an excuse.