Pitt | Swanson Engineering
Major Topics

ENGR0012 Major Topics - Spring 2018

A detailed list of course topics can be found in the course syllabus . A summary of the Major Topics covered in ENGR0012 is as follows:

  1. To teach you to program a computer using a number of general-purpose programming languages.
  2. To teach you to design programs using a "top-down" approach.
  3. To promote and encourage good programming practices.
  4. To illustrate how the output of one program can be used as the input into another software package,
  5. To illustrate the role of computer programming in solving engineering problems.
  6. Use of software packages (WORD, POWERPOINT) in communications.
  7. Use of library to find information for a research report.

Programming a computer is a skill, like playing the piano. It can be learned only by constant, repetitious practice.

For many years, engineers used Fortran as their principal programming language. In recent years, however, there has been a strong movement toward the use of a newer language, such as MATLAB or C, for technical and commercial software development. We will be concerned with the use of both MATLAB and C in this course.

The course will be concerned with material that appears to fall within the realm of specific topics in engineering, our emphasis will be on using various computer tools to solve engineering problems. We will also illustrate how engineering differs from science and mathematics. A detailed list of topics can be found in the course syllabus , the course assignments or the Course Policies . All this information is available on the menu of the course web page.

How to Get Through This Course

Students are often reluctant to ask questions in class, or to approach faculty or teaching assistants on a one-to-one basis. Unlike your other courses, however, this course requires that you participate actively. Ask questions if you don't understand what is being discussed. Remember that we can't help you unless we know what your problems are.

Over the years, we have a found a strong correlation between class attendance and final grades. Those who attend class, participate actively, and do their homework conscientiously will get good grades. Those who skip class and/or skimp on their homework get low grades. You decide which group you want to be in.

The following is a list of suggestions:

  1. Plan to spend two or three sessions, of about 1 to 1-1/2 hours each, in the computer lab for each programming assignment.
  2. Don't do any actual programming until you have first developed a top-down program strategy and have roughed out the program design in pseudo-code.
  3. After you have developed your program design, plan on several sessions to get the program to execute correctly. Remember that very few programs run on the first few tries. You need some time between sessions to figure out what went wrong.
  4. Think about your program between sessions, and avoid the temptation to ask someone else for help whenever your program does not run. One of the goals of this course is to develop a sense of independence and self-reliance.
  5. Make frequent use of the debugging techniques that you will learn in this course. They will help you find and correct programming errors.
  6. Be sure that your programs are logical and well documented. Use comments, program indentation, etc. freely to enhance the logical clarity of the program.
  7. In preparation for the exams, be sure that you understand all of the fundamental concepts that were applied to the programming assignments.

Good luck to all of you. On behalf of the entire Freshman Engineering Faculty, we look forward to meeting you and working with you.