CS 410C: Introduction to Scientific Programming/C

(Coordinator: Arvind Narayan)

Catalog Description

Introduces the concepts and techniques of computer programming. Particular emphasis on computer programming as a problem-solving technique in science and engineering applications. Good programming style is stressed. Significant out-of-class programming required. Not open to students who have completed CS 415 or the equivalent.

Course Topics and Student Outcomes

Programming (3):

  • Design, implement, test, and debug programs involving basic computation, simple I/O, standard conditional and iterative structures, functions in a procedural language
  • Identify and use good programming style
  • Choose appropriate conditional and iteration constructs for a given programming task and apply them properly
  • Start with smaller programs covering specific areas of the language like iteration, conditions, functions and apply the techniques to solving larger problems
  • Understand how to convert a problem-solving technique into a program and apply it specifically to problems in the areas of Math, Science and Engineering

Algorithms (2):

  • Break down the problem solving technique into a series of steps by applying algorithmic techniques
  • Apply the techniques of structured (functional) decomposition to break a program into smaller pieces

Evaluation

  • Weekly Lab Assignments (14%)
  • 11 Programming Assignments (45%)
  • 2 Semester Exams (12% each)
  • 1 Final Exam (17%)

Topics

Syntax, Semantics, Basics

  • Data Types, Operators, Expressions

Program Control

  • Program Control using Conditions
  • Loops and Repetition

Modular Programming

  • Functions, Input & Output Parameters
  • Multiple modules, Code organizatios

Data Structures

  • Single and Multi-dimensional Arrays
  • Structures
  • Dynamic Memory and Pointers

Input Output

  • Text File I/O
  • Binary File I/O

Miscellaneous

  • Algorithms, Software Design Life Cycle
  • Apply programming techniques to solve problems in Math (Linear Algebra), Science and Engineering
  • Recursion

Textbooks

  • Suggested: C Program Design for Engineers, 2nd Ed. by Jeri R. Hanly and Elliot B. Koffman ISBN 0-201-70871-X Addison Wesley, 1997
  • Reference: The C Programming Language, 2nd Ed. by Kernighan and Ritchie ISBN 0-13-110362-8 Prentice Hall.