Dec 12, 2024  
2022-2023 College Catalog 
    
2022-2023 College Catalog [ARCHIVED CATALOG]

ENG 276IN - Computer Programming for Engineering Applications II

3 Credits, 5 Contact Hours
2 lecture periods 3 lab periods

Continuation of ENG 175IN . Advanced programming in C for engineering applications. Includes review of C programming, memory concepts, algorithms and analysis, and an introduction to C++

Prerequisite(s): ENG 175IN  


Course Learning Outcomes
  1. Demonstrate the ability to develop, debug, and test large software projects in both the C and C++ programming languages to solve engineering problems.
  2. Demonstrate the ability to analyze, compare, and select appropriate data structures and associated algorithms for engineering applications.
  3. Demonstrate software engineering best practices and object-oriented design and programming.

Performance Objectives:
  1. Preprocess, compile and/or link programs.
  2. Use project management tools (e.g. IDEs(Integrated Development Environment), Cmake, etc).
  3. Use libraries and code re-use across executables.
  4. Debug compiled programs.
  5. Understand and use applications with pointers and memory addresses.
  6. Pass by value and pass by reference.
  7. Allocate and manage memory.
  8. Distinguish between stack and heap in software programs.
  9. Utilize trees, queues, stacks, heaps, and graphs.
  10. Use appropriate algorithms for sorting, searching, hashing, traversals, and shortest path.
  11. Design, analyze and implement algorithms.
  12. Asymptotic analysis of algorithms.
  13. Construct/delete objects in C++.
  14. Use basic C++ operations and commands.
  15. Use Standard Template Library (STL) Classes.

Outline:
  1. Review of C Programming
    1. Create source code
    2. Link and/or compile main with other functions
    3. Execute programs
    4. Debugging errors in program execution
  2. Memory Concepts
    1. Allocating memory using malloc  and/or calloc, realloc, and free
    2. Determining memory requirements from sizing of data
    3. Using the stack and heap
  3. Algorithms and Analysis
    1. Construction /use of binary trees, stacks, heaps, graphs
    2. Algorithms/methods of data for sorting, searching, traversing, hashing, shortest path analysis
    3. Design and implementation of applied algorithms
  4. C++ Introduction
    1. Objects and classes
    2. Commands unique to C++ ie, cin, cout, others.
    3. STL classes