MECH 415 Advanced Programming for Mechanical and Industrial Engineering

 

Please visit this web page once or twice a week to get course information and files related to this course.

 

Please download and install “WinRAR x86 (32-bit) Release” from the link below if you don’t have it on your computer.  Note this software is required to open the lecture files in “rar” format.

http://www.rarlab.com/download.htm 

 

C++ Compiler Installation

 

Microsoft Visual Studio 2019 on Windows is required for this course.  Make sure to use the 2019 version for compatibility with the lectures.  You can’t use other compilers or operating systems.

 

Installation instructions for both Windows and Mac computers are given here:

http://users.encs.concordia.ca/~bwgordon/mech415_getting_started.html

 

C++ Review Material and References

 

For the first 2 weeks of the term you should review C++ if needed.  Please use the following webpage for review

http://users.encs.concordia.ca/~bwgordon/C++_review_material.html

 

For the first week of this term you should try to finish review_set1 to review_set3 of the review problems below:

http://users.encs.concordia.ca/~bwgordon/C++_review_questions.rar

 

If those problems are not difficult enough then try review_set4 to review_set6.

 

Please install the C++ compiler and related software as soon as possible.  Instructions are located at the top of the webpage in the getting started guide.

 

Programming Software Tools

 

Please also install the following Windows utilities.  They are some of the best available utilities for programming.

 

https://notepad-plus-plus.org/download - text editor

https://www.mythicsoft.com/filelocatorlite - file / text search utility

http://winmerge.org/ - utility that compares two files / programs line by line

http://www.audacityteam.org/ - software for recording and converting audio files

 

Lecture Material

 

Week 1

  

 

 

Online Programming References

 

You can look up which C++ functions require which include files here:

http://www.cplusplus.com/reference/

 

The include files are indicated in the left window.  Don't use the old-style versions with the *.h extension.

 

The following online tutorials can also be helpful:

http://www.cplusplus.com

http://www.tutorialspoint.com/cplusplus/

 

Additional References

 

Numerical Methods

 

Numerical Recipes in C (2nd edition is the easiest to use) is an excellent C++ library for numerical method functions (optimization, FFT, curve fitting, etc.).

http://apps.nrbook.com/c/index.html

https://www.cec.uchile.cl/cinetica/pcordero/MC_libros/NumericalRecipesinC.pdf

 

Note the C++ files for the examples in the book can also be downloaded.

https://github.com/saulwiggin/Numerical-Recipies-in-C

https://www.astro.umd.edu/~ricotti/NEWWEB/teaching/ASTR415/InClassExamples/NR3/legacy/nr2/C_211/index.htm

 

Networking

 

Pocket Guide to TCP/IP Sockets (C Version), Michael J. Donahoo, Kenneth L. Calvert, Morgan Kaufmann Publishers, 2001 ( ISBN: 1558606866 ).

 

Basics of Matlab

 

Matlab Tutorial – More information about Matlab

 

Please make sure you can use these example below

 

Matlab Example – basic commands and 2D plot functions

 

File I/O Example (save “t sin(t) cos(t) …” into a file) – Creates output file for Matlab example file

  

Note:  In order to run the Matlab example you need to change the working directory to where the *.m file is located.  This can be done using the toolbar located at the top of the Matlab window.

 

C/C++

 

Teach Yourself C, Herbert Schildt, McGraw-Hill Osborne Media, 1997, ISBN: 0078823110

 

Teach Yourself C++, Herbert Schildt, McGraw-Hill, 1997, ISBN: 0078823927

* I learned C++ from this book -- thanks Herb.

 

C: The Complete Reference, Herbert Schildt, McGraw-Hill Osborne Media, 2000, ISBN: 0072121246

* This book is very good for pointers

 

C++: The Complete Reference, Herbert Schildt, 4th Edition, McGraw-Hill Osborne Media, 2002, ISBN: 007222680

 

Dynamics

 

Physics for Scientists and Engineers, Raymond A. Serway, Brooks Cole, 6th edition, 2003, ISBN: 0534408427

* this one is good for basic mechanics and electricity and magnetism.

 

Vector Mechanics for Engineers, Statics and Dynamics, Ferdinand P. Beer, Jr., E. Russell Johnston, McGraw-Hill, 2003, ISBN: 0072931108

 

Vector Mechanics for Engineers, Dynamics, Ferdinand P. Beer, Jr., E. Russell Johnston, McGraw-Hill, 2003, ISBN: 0072930799

* this one is very good for 3D dynamics

 

Principles of Dynamics, Second Edition, Donald T. Greenwood, Prentice Hall, 1987, ISBN: 0137099819

* this one is a more advanced analytical treatment