Dec 08, 2024  
2022-2023 Course Catalog 
    
2022-2023 Course Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CSCI 1081 - Programming Fundamentals

Credits: 4
Hours/Week: Lecture 4 Lab 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 and object-oriented programming.  Differences between the C and C++ language are presented.
MnTC Goals
None

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

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

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

  1. develop a program of moderate complexity.
  2. explain fundamental programming constructs, data types and structures through their appropriate use in programs or program segments.
  3. use appropriate algorithms and problem-solving techniques in program development.
  4. use a programming development environment and associated tools in creating programs.
  5. explain related concepts such as computer architecture, data representation,  program translation and run-time models.
  6. use appropriate language features to solve engineering and scientific problems. 
  7. write a simple MATLAB application to solve a numerical computing problem.
  8. convert a C++ program to an equivalent program in C.
  9. explain what an object is and how it relates to a class.
  10. write methods that get, set and test object data.
  11. develop a simple object-oriented program.
  12. apply consistent documentation and program style standards that contribute to the readability and maintainability of software
  13. write programs that uses file I/O to provide persistence across multiple executions.

Competency 1 (1-6)
None
Competency 2 (7-10)
None


Courses and Registration



Add to Portfolio (opens a new window)