Nov 21, 2024  
2017-2018 Course Catalog 
    
2017-2018 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CSCI 1081 - Programming Fundamentals

Credits: 4
Hours/Week: Lecture 4Lab None
Course Description: This course introduces the fundamental concepts, structures and techniques of programming. Topics include introduction to algorithms, design and development and the fundamental constructs of programming and data. Students will use a modern integrated development environment to create complex, multi-file projects. The course also introduces students to numerical applications (using MATLAB), machine architecture, revision control, and unit testing. Differences between the C and C++ language are presented.
MnTC Goals
None

Prerequisite(s): Assessment score placement in MATH 1061  or above, or completion of MATH 0070  with a grade of C or higher.
Corequisite(s): None
Recommendation: CSCI 1060  or a beginning course in programming

Major Content
  1. Overview of programming languages and survey of programming paradigms
  2. Introduction to machine level organization and representation of numeric and text data
  3. Syntax and semantics of fundamental programming constructs including variables, operators, expressions, assignments, conditional and iterative control structures, functions, I/O, files, objects
  4. Creation of multi-file programming projects
  5. Fundamental data types and structures including primitive types, pointers, arrays, structures and strings
  6. Basic algorithms and their application to solve programming problems
  7. Use of a modern integrated development environment including compiler, debugger, test and project management tools
  8. Language support for numerical computing and engineering applications
  9. Introduction to fundamental design concepts including requirements analysis, structured design, modular decomposition, structure charts, pseudocode.
  10. The program creation process including editing, pre-processing, compiling, linking, executing
  11. C Programming language
  12. Introduction to MATLAB numerical computing tool and creation of simple programs to solve basic problems.
  13. Introduction to Revision Control Software and it’s its use in coordinating team access to a large software project.
  14. Introduction unit testing and creation of unit tests cases for software modules.

Learning Outcomes
At the end of this course students will be able to:

  1. create unit tests for functions in a program.
  2. develop a program of moderate complexity.
  3. explain fundamental programming constructs, data types and structures through their appropriate use in programs or program segments.
  4. explain related concepts such as computer architecture, data representation, program translation and run-time models.
  5. manage and coordinate revisions to a software project using Revision Control Software.
  6. use a programming development environment and associated tools in creating programs.
  7. use appropriate algorithms and problem-solving techniques in program development.
  8. use appropriate language features to solve engineering and scientific problems.
  9. write a simple MATLAB application to solve a numerical computing problem.
  10. convert a C++ program to an equivalent program in C.


Courses and Registration



Add to Portfolio (opens a new window)