|
Nov 21, 2024
|
|
|
|
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
- Overview of programming languages and survey of programming paradigms
- Introduction to machine level organization and representation of numeric and text data
- Syntax and semantics of fundamental programming constructs including variables, operators, expressions, assignments, conditional and iterative control structures, functions, I/O, files, objects
- Creation of multi-file programming projects
- Fundamental data types and structures including primitive types, pointers, arrays, structures and strings
- Basic algorithms and their application to solve programming problems
- Use of a modern integrated development environment including compiler, debugger, test and project management tools
- Language support for numerical computing and engineering applications
- Introduction to fundamental design concepts including requirements analysis, structured design, modular decomposition, structure charts, pseudocode.
- The program creation process including editing, pre-processing, compiling, linking, executing
- C Programming language
- Introduction to MATLAB numerical computing tool and creation of simple programs to solve basic problems.
- Introduction to Revision Control Software and it’s its use in coordinating team access to a large software project.
- 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:
- create unit tests for functions in a program.
- develop a program of moderate complexity.
- explain fundamental programming constructs, data types and structures through their appropriate use in programs or program segments.
- explain related concepts such as computer architecture, data representation, program translation and run-time models.
- manage and coordinate revisions to a software project using Revision Control Software.
- use a programming development environment and associated tools in creating programs.
- use appropriate algorithms and problem-solving techniques in program development.
- use appropriate language features to solve engineering and scientific problems.
- write a simple MATLAB application to solve a numerical computing problem.
- convert a C++ program to an equivalent program in C.
Courses and Registration
Add to Portfolio (opens a new window)
|
|