Introduction to Computing for Engineers (original) (raw)
![]() |
CS 4 (aka CS 39L) Introduction to Computing for Engineers Prof. Jonathan Shewchukjrs@cory.eecs(But send class-related mail to cs4@cory.eecs so the TAs can respond too.)Spring 2006 Lectures: Mondays and Wednesdays, 5:30-6:30 pm, 320 Soda Hall Labs: Mondays 6:30-8:30 pm and Thursdays 5:00-8:00 pm, 277 Soda Hall |
---|
The final exam takes place in lab (277 Soda Hall) on Thursday, May 18, 5-8 pm.
CS 4 (currently called ``CS 39L'' in TeleBears) is an introductory computer programming course for students withno (or little) programming experience. It is an alternative to CS 3 or E 77 that employs programming examples from engineering and science(as opposed to the symbolic computing emphasis of CS 3). The main programming language of CS 4 is Java(as opposed to Scheme in CS 3 or Matlab in E 77), which is used heavily in industry.
This spring, a pilot version of CS 4 is being offered as a freshman/sophomore seminar (CS 39L). This means you will receive individual attention that would be impossible in CS 3 or E 77. To sign up, just register for CS 39L in TeleBears before spaces run out.
CS 39L may be used (by petition) as a replacement for E 77 for students in Mechanical Engineering, IEOR, the Haas School of Business, and some areas of bioengineering. Of course, it may be used as a replacement for CS 3 for EECS students.
Textbook
Stephen J. Chapman, Java for Engineers and Scientists, Second Edition, Pearson Prentice Hall, 2004. ISBN # 0-13-033520-7. The first edition is not recommended.
Information
- Enter UC-WISE for labs and homeworks.
- Course overview: prerequisites, laboratory sections, grading, cheating policies.
- Online documentation for Eclipse. You can alsoinstall Eclipse 3.1.1 at home.
- Online documentation for Gild. You can alsoinstall Gild 2.2.0 at home.
- Online documentation for Dr. Java: the quick start guide or the complete documentation.
- Online documentation on the Java compiler, GJDB, and Emacs: programming tools running under Unix.
- The Java 1.4.2 standard libraries API: frames, no frames (maintained by Sun).
- The Java language specification (maintained by Sun).
- A brief man page for jdb, Sun's Java debugger.
- Get tutoring from Upsilon Pi Epsilon, International Honor Society for the Computer Sciences.
- Information on connecting from home.
- User's Guide to Unix on EECS Instructional Computing.
- Access theucb.class.cs4 newsgroup. If that link doesn't work, try Instructional Computing's Web-based news readerhttp://inst.eecs.berkeley.edu/webnews, which even works from sites outside the campus network.
Lectures
The following schedule is tentative. There may be changes as the semester progresses, so check here periodically.
Some lecture notes can be obtained by clicking on the lecture titles (for ASCII) or the PostScriptor PDF
links (which save paper).
Topic | Reading | Due | |
---|---|---|---|
1: January 18 | Overview; expressions & variables ![]() ![]() |
Sections 1.1, 1.3-1.6, 2.10 | . |
2: January 23 | Types & conditionals ![]() ![]() |
Sections 2.1, 2.2, 2.4, 3.4 | . |
3: January 25 | Objects & methods ![]() ![]() |
Sections 1.8, 1.9, 2.3 | . |
4: January 30 | Defining classes ![]() ![]() |
Sections 2.7, 6-6.2, 7-7.3 | Homework 1 |
5: February 1 | Constructors & pass by value ![]() ![]() |
Sections 6.3, 6.5, 6.8 | . |
6: February 6 | Loops & boolean operators ![]() ![]() |
Sections 3.3, 4.1, 4.2 | Homework 2 |
7: February 8 | Physical simulations ![]() ![]() |
. | . |
8: February 13 | Variables and scope ![]() ![]() |
Sections 7.4, 7.7 | Homework 3 |
9: February 15 | Arrays ![]() ![]() |
Sections 5-5.4 | . |
February 20 | President's Day | . | . |
10: February 22 | 2D arrays & ``for'' loops ![]() ![]() |
Section 4.3, Chapter 11 | . |
11: February 27 | ``switch'', ``break'', ``continue'' ![]() ![]() |
. | Homework 4 |
12: March 1 | Cellular automata ![]() ![]() |
. | . |
13: March 6 | Software engineering, overloading, char ![]() ![]() |
. | Homework 5 |
14: March 8 | Object-oriented programming ![]() ![]() |
. | . |
15: March 13 | Euclid's GCD algorithm ![]() ![]() |
. | Homework 6 |
16: March 15 | The stack & the heap ![]() ![]() |
. | . |
March 16 | MIDTERM (in lab) | covers Lectures 1-14 | . |
17: March 20 | Recursion ![]() ![]() |
. | Homework 7 |
18: March 22 | Binary search ![]() ![]() |
. | . |
March 27-31 | Spring Recess | ||
19: April 3 | Collision simulation ![]() ![]() |
. | Homework 8 |
20: April 5 | Fractals & recursion ![]() ![]() |
. | . |
21: April 10 | Rocket motion ![]() ![]() |
. | Homework 9 |
22: April 12 | Optimization ![]() ![]() |
. | . |
23: April 17 | Nelder-Mead simplex optimization ![]() ![]() |
. | Homework 10 |
24: April 19 | Java interfaces & inheritance ![]() ![]() |
. | . |
25: April 24 | More inheritance ![]() ![]() |
. | Homework 11 |
26: April 26 | Linked lists ![]() ![]() |
. | . |
27: May 1 | Matlab ![]() ![]() |
. | Homework 12 |
28: May 3 | Performance ![]() ![]() |
. | . |
Eligibility
- Prerequisites: High school algebra & trigonometry and physics.
- Corequisite: Math 1A.
- No computing experience required!
Grading
- 10% for the lab quizzes.
- 20% for the homeworks.
- 10% for the project.
- 25% for the midterm (Thursday, March 16, 5-8 pm, 277 Soda Hall).
- 35% for the final exam (Thursday, May 18, 5-8 pm, 277 Soda Hall).