CS1371 - Computing for Engineers

Summer 2005 Oxford Syllabus

Course Content

Concepts

The students will be expected to be familiar with the following concepts, either by writing code to solve problems, or by diagramming the behavior of the more complex algorithms.

General Principles:

  • abstraction
  • testing
  • debugging
  • problem solving

Concepts evaluated by coding:

  • data types
  • the use of variables for storing data
  • basic mathematical and logical expressions
  • arrays
  • operations on arrays
  • strings and character arrays
  • structures
  • file input and output
  • conditional statements
  • selection 
  • repetition
  • functions and procedures
  • variable scope
  • plotting 2-D and 3-D data
  • recursion
  • manipulating images

Object-oriented concepts:

  • classes and objects
  • encapsulation
  • queues and stacks
  • methods
  • inheritance
  • lists and trees

Concepts evaluated graphically

  • sorting data
  • graphs (in the sense of generalized dynamic data structures)
  • search techniques

Matlab®

Matlab® is an excellent first language for engineers.  It is an interpreted language that provides students immediate feedback from their actions, and postpones many of the gory details of correctness until a program is run.  It is an ideal environment for ordinary engineering computation.  The course including the section that introduces Object Oriented concepts is conducted from the Matlab® environment.  'Matlab' is a registered trademark of The MathWorks, Inc.  Students who wish to work on their Matlab® assignments on their own computers are required to purchase a Matlab® license. For students not wishing to purchase the license, Georgia Tech provides access to computers equipped with Matlab® licenses through a licensing arrangement with The MathWorks, Inc.

Important:  If you intend to use your own personal Student Edition of Matlab, you should purchase it from the Engineers' Bookstore or from Barnes and Noble before you leave for the UK.

Open Door Policy

Your instructor maintains an open door policy.  You are free to visit during the posted office hours or, if you prefer a different time, arrange an appointment.  It is very important to contact me as soon as you feel that you might need to.  Problems, unlike fine wines, don't improve with age.

Grading Policies

There is no curve in this course. However, we may elect to include extra credit assignments at various times during the semester.  The grading breakdown is as follows:

Homework 10%
Quizzes 45% (3 quizzes 15% - 15% - 15%)
Final 45%

Letter grade assignments are given according to the following cutoffs with no rounding:
90.0 <= A <= 100
80.0 <= B < 90.0
70.0 <= C < 80.0
60.0 <= D < 70.0
0 <= F < 60.0

Course Website

http://www.cc.gatech.edu/classes/AY2005/cs1371_summer/

Collaboration Policy

Homework assignments are designed to be learning experiences; they are graded only to encourage students to complete the assignments correctly.  Collaboration is permitted and encouraged when working on your homework.  However, the material you turn in must be essentially your own work.  Submitting large bodies of material written by others without specifically attributing the authorship is plagiarism, and is not permitted on this course, or anywhere else at Georgia Tech.  

The tests and the final are our primary means of assessing your understanding of course material. They will be taken in a supervised environment during lecture periods.

Due Dates/Times

Assignments are due electronically as indicated on the class Web site or the announcements. Typically this is noon on the date the assignment states it is due (and this is also indicated on the course calendar.) There is a 6 hour grace period that begins at the due time. You are free to turn things in early before the due date, but once the grace period after the due date/time is over, no more submissions are possible.

There are no redos allowed on any assignment!

Late Work Policy

No late homework, labs, tests or exams are accepted in this class. Any request for exceptions to this policy due to incapacitating illness, death in the family, or something similarly serious must be accompanied by supporting documentation. 

Course Expectations

  1. Read the assigned chapters in the book before class.
  2. Participate in all discussions and ask questions about the material. This is your best opportunity to review the material and see examples to solidify your understanding.
  3. Complete every homework assignment and use it as a learning opportunity; use collaboration in order to gain a better understanding, not to get the work done faster. This is your chance to learn the material in preparation for the test; not having a solid understanding of the homework *will* lead to poor performance later (i.e. tests, other homework and the final exam).
  4. Take responsibility for your coursework submissions; it is your job to make sure that you successfully turned in what you meant to turn in and verify your submission by retrieving and checking your files. This is how you make sure that you get credit for the work you do.
  5. Take initiative. You will only get out of this class what you put into it. Begin your assignments early and if you think you need help, come prepared. Use the resources that are provided for you, and be determined to succeed from the start.

Course Components

  1. Lectures - Attend, listen and learn. This is usually where we will introduce new material.
  2. Homework - learn ins and outs of the topics. Apply the material covered in lecture to programming problems. Collaboration encouraged here especially.
  3. Tests - should demonstrate your *understanding* of the course material. Focus on applying concepts and skills learned in hw to novel problems.
  4. Final Exam - cumulative assessment of everything in the course.
Last Modified June 17th 2005: by David Smith