College of Chemistry Course Guide

E7 - Introduction to Computer Programming for Scientists and Engineers (4 Units)

Course Overview

Summary

E7 is the introductory computer science class required for chemical engineers. The class is taught through MATLAB, and teaches basic programming strategies and numerical methods. The first half of the class deals with the syntax of the language and introduces basic coding skills including recursion and branching. The second half of the class is numerical methods in MATLAB, including using the program to solve for differential equations. The class emphasizes problem-solving and learning through the laboratory assignments.

Prerequisites

Math 1A and 1B (1B can be taken concurrently)

Topics Covered

  • Introduction to MATLAB Syntax and Programming
    • Data Structures and Functions
    • Branching and If-Statements
    • Iteration and Recursion
    • Time Complexity
    • Number Representation
    • Graphics
  • Numerical Methods
    • Root Finding
    • Linear Algebra and Regression
    • Interpolation
    • Numerical Differentiation and Integration
    • ODEs
    • Special Topics (Object-Oriented Programming, etc..)

Workload

Coursework

  • 1 or 2 midterms depending on instructor
  • 1 final exam based on lecture material (finals week)
  • 1 final project depending on instructor
  • ~12 lab assignments
  • Iclicker or participation points depending on instructor

Time Commitment

4 hours of lecture per week (including 1 hour for lab lecture), 5 hours of lab section per week, up to 15 hours of homework per week.

Choosing the Course

When to take

This class is required for chemical engineering majors, and cannot be substituted by CS 61A or equivalent. It is offered both fall and spring. This is recommended to be taken the second semester freshman year, but can also be taken the first semester of freshman or even first semester of sophomore year. The knowledge from this class is required for future chemical engineering classes.

Additional Comments and Tips

This class does not require previous programming experience and is a good introductory class to coding. As aforesaid, the programming is done completely in MATLAB. The class requires problem solving and frequent application of lecture material. There are myriad office hours and laboratory sessions that you can go to if you need help, so take advantage of that. These resources are helpful for the labs, which are time-intensive and sometimes difficult.

Working in groups is recommended, but make sure you are not plagiarizing, which is heavily screened for. Do not copy and paste code, and try to explain concepts to others rather than showing your code to them. Depending on the instructor, the two weekly two-hour laboratory sessions may or may not be mandatory, but they can be helpful for asking questions to the GSI or having them check your code if you are stuck.




Written by: Justin Yeung

Last edited: Fall 2018