Howard University

College of Engineering, Architecture, & Computer Sciences

Department of Systems & Computer Science

Washington, D.C. 20059

Elementary Computation 306-165-01

Spring 2000 Draft Syllabus

Instructor :

Office :

Phone :

Office Hours :

Moses Garuba

Room LKD-2119 (IMA)

(202) 806-4827

TBA

Lecture Room :

Day :

Time :

LKD 2006

Mondays, Wednesdays & Fridays

2:10 - 3:00 PM

 

Textbooks

Required: Fortran 77 for Engineers and Scientists by Larry Nyhoff and Sanford Leestma, Prentice Hall, ISBN 0-13-363003-X, 1996.

Desired: Fortran 90 by Loren Meissner, PWS-ITP, ISBN 0-534-93372-6, 1995.

 

Objectives

The objective of this course is to introduce students to programming and the use of digital computers. Generic programming concepts such as problem solving and the systematic development of algorithms will be explored. Programming tasks will require the application of these fundamental concepts to solving real engineering problems. The student will also be exposed to the practice of operating computers and peripheral equipment.

Prerequisites

The prerequisites for this course include College Algebra and Plane Geometry. Experience in development environments such as LINUX, UNIX, Windows NT is desirable but not required.

The course will cover computation from a variety of engineering application areas, but the course is intended to be self-contained with respect to such topics.

Attendance at lectures is expected. Copies of lecture notes (transparencies used in lecture) will be distributed to students when available. Students are fully responsible for all material presented in lectures, even if some of it does not appear in these notes.

 

Assignments and Exams

There will be ten programming assignments. Generally, they will be handed out on a Friday, with electronic submission due six days later on the next Friday (at 2:10 PM). Your program must be clearly "commented".

There will also be ten weekly problem sets. These will be handed out on Monday and due at precept the following week. These will consist of short questions on the material in the lectures, notes, and programs.

There will be a midterm exam on the Wednesday before break, which will cover all material up to and including the lecture on the previous Monday. The final exam will cover all material in the course.

Grading Policies

You will write some programs for the programming assignments, run them, and submit the code electronically. The code rarely speaks for itself, however, and it is your responsibility to make sure that it is clearly "modularized" and "commented".

Grades on the programming assignments and problem set questions will be: 10(perfect in every way), 9(outstanding), 8(excellent), 7(very good), 6(good), 5(not bad), 4(poor), 3(minimal effort), 2(bad), 1(hopeless), or 0(not handed in).

The programming assignments, problem sets, and exams all contribute significantly to your grade. Specifically, your final course grade will be calculated as follows:

In calculating your course grade, we will drop the lowest programming assignment score. Thus, you may choose to "punt" one programming assignment, or you may choose to do them all in an attempt to learn more or to maximize your grade. The precise values of these weights are not nearly as important to you as it is to be sure that you hand in all the work assigned. Doing so will help you if your grade is borderline at the end.

Assignments submitted late will NOT be marked unless under exceptional circumstances.

There will no extensions due to scheduling conflicts, computer downtime, or other such factors, except under truly extraordinary circumstances. Extensions will be granted only for university-sanctioned excuses such as illness, and then only with the proper documentation. You are responsible for planning ahead and managing your time so that you can complete the assignments on time. You must either finish on time or accept the consequences of doing otherwise.

 

Computers

You may develop your programs on any machine that you like. However, your finished programs must run on the HP-AUX Server or NT-Server in LKD-Room 2117 in the Engineering building. Programs must be written in the Fortran-77 programming language. All validated students in the School of Engineering (CEACS) should seek to obtain new accounts or re-activate existing accounts in the CLDC Lab. Students who had accounts in past semesters will have the same login (userid) and password. Other students must contact the relevant system administrators to obtain an account or re-activate a dormant account.

Rights and Responsibilities

Problem sets should reflect your own work. Collaboration is inappropriate for the specific problems in the problem sets, though working with lab assistants and other students in the class on similar problems is highly encouraged.

Programming, like composition, is an individual creative process. Individuals must reach their own understanding of the problem and discover a path to its solution. During this time, discussions with friends are encouraged. However, when the time comes to write the code that solves the problem, such discussions are no longer appropriate -- the program must be your own work (although you may ask lab assistants for help in debugging). If you have a question about how to use some feature of Fortran 77, LINUX, UNIX, etc., then you can certainly ask your friends or the lab assistants.

Do not, under any circumstances, copy another person’s program. Writing code for a fellow student or using another student’s code in any form violates the University's academic regulations and will be dealt with harshly. Beware that programs can be scanned for similarities in structure, syntax, and logic.

Submitting Programming Assignments

Submit your solutions to the programming assignments electronically during lectures or in person to room LKD-2119 (IMA Lab). Include all files required for the program to execute.

 

Keeping in Touch

The best way to contact the instructor is by electronic mail. To raise matters pertaining to the course or get help, send e-mail to: [email protected]

 

 

 

 

 

 

 

 

 

SCHEDULE OF LECTURES

Week Beginning

Topic

Reading Assignment

Key Events

01/10/2000

Introduction to Computing:

  • Computing Systems
  • Computer Organization
  • Programming & Problem Solving

Read Chapter 1

17th January 2000

MLK Day Observed

01/30/2000

Basic Fortran:

  • Data Types
  • Arithmetic Operations
  • Program Composition
  • APPLICATION CASE STUDY

Read Chapter 2

 

02/13/2000

Selective Execution:

  • Logical Expressions
  • Selection Structures
  • APPLICATION CASE STUDY

Read Chapter 3

21st February 2000

Presidents Day Observed

02/27/2000

Repetitive Execution:

  • Repetition Structures
  • APPLICATION CASE STUDY

Read Chapter 4

16th March 2000

Mid-Term Exam

 

19th —25th March

Spring Recess Observed

03/26/2000

Input/Output:

  • Formatted Output
  • Formatted Input
  • File Processing
  • APPLICATION CASE STUDY

Read Chapter 5

 

4/09/2000

Programming Styles:

  • Functions
  • Subroutines
  • APPLICATION CASE STUDY

Read Chapter 6

 

4/23/2000

Arrays:

  • Introduction
  • One-dimensional
  • Multidimensional
  • APPLICATION CASE STUDY

Read Chapters 8 and 9

Reading Period

 

 

Final Exam Week

Beware!

The instructor reserves the right to change the course content, omit parts of the topics listed above or introduce new material midstream to supplement the course text.