Introduction to Scientific Computing

Spring 2013

Course Content

This course introduces concepts and techniques for creating computational solutions to problems in engineering and science. The essentials of computer programming are developed using the C and Matlab languages, with the goal of enabling the student to use the computer effectively in subsequent courses. Programming topics include problem decomposition, control structures, recursion, arrays and other data structures, file I/O, graphics, and code libraries. Applications will be drawn from numerical solution of ordinary differential equations, root finding, matrix operations, regression, searching and sorting, simulation, and data analysis. Good programming style and computational efficiency are emphasized. Although no previous programming experience is assumed, a significant time commitment is required.

Students planning to pursue the engineering sciences major are advised to take ENGINEERING SCIENCES 20. Students considering the computer science major or majors modified with computer science should take COMPUTER SCIENCE 5.


Petra Taylor
Room 111, MacLean

Office Hours

Monday, Wednesday: 12:30-2:30pm and by appointment
Room 111, MacLean


There will be three classes per week: Monday, Wednesday, and Friday from 11:15am to 12:20pm (11 hour). The x-hour is on Tuesday from 12:00 to 1:00pm.


Reading is from

A First Book of ANSI C Bronson, "A First Book of ANSI C, 4th ed."
Matlab: A Practical Introduction to Programming and Problem Solving Attaway, "Matlab: A Practical Introduction to Programming and Problem Solving."


On reserve in Feldberg Library:

C Primer Plus Prata, "C Primer Plus", 5th ed., 2005. Excellent reference text for all that is C.
C: How to Program Deitel and Deitel, "C: How to Program", 2004. Another good reference text for C programming.
Numerical Recipes in C Press, Teukolsky, Vetterling, and Flannery, "Numerical Recipes in C." The best resource for optimized numerical programs.
Mastering MATLAB 7 Hanselman and Littlefield, "Mastering MATLAB 7", 2005. Excellent reference for MATLAB.
Introduction to MATLAB 7 for Engineers Palm, "Introduction to MATLAB 7 for Engineers." Another good introduction to MATLAB and programming in MATLAB.


MATHEMATICS 3 and prior or concurrent enrollment in MATHEMATICS 8.


In this course you will learn to write computer programs in C and Matlab. Because you will be learning a new language, it is important that you practice the language frequently. To this end there will be daily computer programming exercises in addition to longer homework problems.


This course is participating in Dartmouth's spring term Learning Management System pilot program. We will be testing out a system called Canvas.

More information about this course can be found at the ENGS 20 Canvas site. Log into Canvas with your regular Dartmouth username and password at