diff options
| author | Christian Kolset <christian.kolset@gmail.com> | 2025-04-23 11:50:21 -0600 |
|---|---|---|
| committer | Christian Kolset <christian.kolset@gmail.com> | 2025-04-23 11:51:04 -0600 |
| commit | bdace8e2e92c49fc3fdb2ff7ed67a9c28a1f972c (patch) | |
| tree | c02ce1f2bdcfccc97aa95d43b321e48e1e4ff5f8 | |
| parent | ec6f7800ee9afd2cf354b05883502a0a327561d2 (diff) | |
Added latex /book
| -rw-r--r-- | book/computingME.lof | 3 | ||||
| -rw-r--r-- | book/computingME.lot | 3 | ||||
| -rw-r--r-- | book/computingME.pdf | bin | 0 -> 44318 bytes | |||
| -rw-r--r-- | book/computingME.synctex.gz | bin | 0 -> 2394 bytes | |||
| -rw-r--r-- | book/computingME.tex | 28 | ||||
| -rw-r--r-- | book/computingME.toc | 3 | ||||
| -rw-r--r-- | book/module0/intro_to_anaconda.tex | 192 | ||||
| -rw-r--r-- | book/module0/intro_to_programming.tex | 38 | ||||
| -rw-r--r-- | tutorials/figures/multi-dimensional-array.gif | bin | 0 -> 300000 bytes |
9 files changed, 267 insertions, 0 deletions
diff --git a/book/computingME.lof b/book/computingME.lof new file mode 100644 index 0000000..65777a4 --- /dev/null +++ b/book/computingME.lof @@ -0,0 +1,3 @@ +\addvspace {10\p@ } +\addvspace {10\p@ } +\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file diff --git a/book/computingME.lot b/book/computingME.lot new file mode 100644 index 0000000..65777a4 --- /dev/null +++ b/book/computingME.lot @@ -0,0 +1,3 @@ +\addvspace {10\p@ } +\addvspace {10\p@ } +\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file diff --git a/book/computingME.pdf b/book/computingME.pdf Binary files differnew file mode 100644 index 0000000..b31fe86 --- /dev/null +++ b/book/computingME.pdf diff --git a/book/computingME.synctex.gz b/book/computingME.synctex.gz Binary files differnew file mode 100644 index 0000000..d554546 --- /dev/null +++ b/book/computingME.synctex.gz diff --git a/book/computingME.tex b/book/computingME.tex new file mode 100644 index 0000000..f34e6e7 --- /dev/null +++ b/book/computingME.tex @@ -0,0 +1,28 @@ +% arara: pdflatex: { synctex: on } +% arara: pdflatex: { synctex: on } +\documentclass[oneside]{scrbook} +\title{A Sample Thesis} +\author{A.N. Other} +\date{July 2013} +\titlehead{A Thesis submitted for the degree of Doctor of Philosophy} +\publishers{School of Something\\University of Somewhere} +\begin{document} +\maketitle +\frontmatter +\tableofcontents +\listoffigures +\listoftables +\chapter{Acknowledgements} +I would like to thank my supervisor, Professor Someone. This +research was funded by the Imaginary Research Council. +\chapter{Using this book} +A brief summary of the project goes here. +\mainmatter +\include{module0} +\include{module1} +\include{module2} +\include{module3} +\include{module4} +\include{module5} +\backmatter +\end{document}
\ No newline at end of file diff --git a/book/computingME.toc b/book/computingME.toc new file mode 100644 index 0000000..74dd28c --- /dev/null +++ b/book/computingME.toc @@ -0,0 +1,3 @@ +\contentsline {chapter}{\nonumberline Acknowledgements}{iv}{}% +\contentsline {chapter}{\nonumberline Abstract}{v}{}% +\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file diff --git a/book/module0/intro_to_anaconda.tex b/book/module0/intro_to_anaconda.tex new file mode 100644 index 0000000..49971ce --- /dev/null +++ b/book/module0/intro_to_anaconda.tex @@ -0,0 +1,192 @@ +\section{Introduction to Anaconda Navigator}\label{introduction-to-anaconda-navigator} + +Anaconda Navigator is a program that we will be using in this course to +manage Python environments, libraries and launch programs to help us +write our python code. + +The Anaconda website nicely describes \emph{Navigator} as: + +a graphical user interface (GUI) that enables you to work with packages +and environments without needing to type conda commands in a terminal +window.Find the packages you want, install them in an environment, run +the packages, and update them -- all inside Navigator. + +To better understand how Navigator works and interacts with the anaconda +ecosystem see the figure below. +\includegraphics{figures/AnacondaSchematic.png} As you schematic +indicated, Navigator is a tool in the Anaconda toolbox that allows the +user to select and configure python environments and libraries. Let's +see how we can do this. + +\begin{center}\rule{0.5\linewidth}{0.5pt}\end{center} + +\subsection{Getting Started}\label{getting-started} + +Note to windows 10 users: Some installation instances do not allow users +to search the start menu for \emph{Navigator}, instead, you'll have to +find the program under the \emph{Anaconda (anaconda3)} folder. Expand +the folder and click on \emph{Anaconda Navigator} to launch the program. + +\begin{figure} +\centering +\includegraphics{figures/installingAnaconda_windows_launched.png} +\caption{Anaconda Navigator screen} +\end{figure} + +Once Navigator starts, under \emph{Home}, you'll see tiles of programs +that come with anaconda. The tab allows you to launch the programs we +will be using in this course. Before jumping straight into the programs +we will first need to configure our Python instance. + +The \emph{Environment} page allows us to install a variety of libraries +and configure our environments for different project, more on this in +the next section. + +\subsection{Environments}\label{environments} + +A Python environment can be thought of as a ``container'' where you can +have all the tools, libraries, and dependencies your Python project +needs without interfering with other projects. Think of it as a +dedicated toolbox for your project. + +Although the base environment comes with many libraries and programs +pre-installed, it's recommended to create a dedicated environment for +your projects. This protects the base environment from breaking due to +complex dependency conflicts. Let us go ahead and create a new +environment for us to use Spyder with. + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\tightlist +\item + Click on the \emph{Environments} page located on the left hand side. +\end{enumerate} + +\begin{figure} +\centering +\includegraphics{https://mintlify.s3.us-west-1.amazonaws.com/anaconda-29683c67/images/nav-env-labeled.png} +\caption{Environment Page} +\end{figure} + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\setcounter{enumi}{1} +\tightlist +\item + At the bottom of the environments list, click \emph{Create}. +\end{enumerate} + +\begin{figure} +\centering +\includegraphics{https://mintlify.s3.us-west-1.amazonaws.com/anaconda-29683c67/images/nav-getting-started-create.png} +\caption{Create new environment} +\end{figure} + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\setcounter{enumi}{2} +\item + Select the python checkbox. +\item + Select versions of python. At the time of making this tutorial the + latest version of Python is 3.xx.x. We will go ahead and use that one. +\item + Choose an appropriate name for your project. We will be creating an + environment for the Spyder IDE so we'll call it ``Spyder-env''. +\item + Click \emph{Create}. +\end{enumerate} + +For more information see +\href{https://docs.anaconda.com/working-with-conda/environments/}{Anaconda +Environments} and +\href{https://docs.anaconda.com/navigator/tutorials/manage-environments/}{Managing +environment}. + +\subsection{Package Management}\label{package-management} + +Now that we have a clean environment configured, let us install some +library we will be using for this class. + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\tightlist +\item + Navigate to the environment page and select the environment we just + created in the previous section. +\end{enumerate} + +\begin{figure} +\centering +\includegraphics{https://mintlify.s3.us-west-1.amazonaws.com/anaconda-29683c67/images/nav-pkg-list.png} +\caption{Select environment to manage} +\end{figure} + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\setcounter{enumi}{1} +\tightlist +\item + Use the search bar in the top right corner to search for the following + packages: +\end{enumerate} + +\begin{longtable}[]{@{}ll@{}} +\toprule\noalign{} +Library & Usage \\ +\midrule\noalign{} +\endhead +\bottomrule\noalign{} +\endlastfoot +numpy & Numerical computation \\ +scipy & Scientific and techical computing \\ +pandas & Data manipulation and analysis \\ +matplotlib & Plots and visualizations \\ +sympy & Symbolic mathematics \\ +\end{longtable} + +\emph{Note: The libraries list may change throughout the development of +this course} + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\setcounter{enumi}{2} +\tightlist +\item + Check the boxes to install the selected packages to the current + environment. +\end{enumerate} + +\subsection{Installing Applications}\label{installing-applications} + +From the \emph{Home} page you can install applications, to the current +environment we created in the Environment section above. In this section +we will install Spyder IDE, but the process is exactly the same for +other applications. + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\item + Go to the \emph{Home} page. +\item + Select the desired environment. In our case, we select + \emph{Spyder-env}. +\item + From the Home page find the Spyder IDE tile. Click the \emph{Install} + button to start the download. +\end{enumerate} + +\begin{figure} +\centering +\includegraphics{https://mintlify.s3.us-west-1.amazonaws.com/anaconda-29683c67/images/nav-tabs.png} +\caption{Anaconda Home Page} +\end{figure} + +\begin{enumerate} +\def\labelenumi{\arabic{enumi}.} +\setcounter{enumi}{3} +\tightlist +\item + Once the download is complete, press \emph{Launch} to start the + applications. +\end{enumerate} diff --git a/book/module0/intro_to_programming.tex b/book/module0/intro_to_programming.tex new file mode 100644 index 0000000..c73dcf4 --- /dev/null +++ b/book/module0/intro_to_programming.tex @@ -0,0 +1,38 @@ +\section{Introduction to Programming}\label{introduction-to-programming} + +\subsection{The Importance of Programming in +Engineering}\label{the-importance-of-programming-in-engineering} + +Engineering is all about solving problems, designing innovative +solutions, and making systems work efficiently. Whether you're designing +cars, airplanes, rockets, or even everyday machines, programming plays a +critical role in modern engineering. + +In mechanical engineering, programming helps us \textbf{analyze data, +model complex systems, automate repetitive tasks, and simulate +real-world physics.} For example, instead of spending hours solving +equations by hand, engineers can write a program that does it in +seconds. This saves time and therefore do more. + +With programming, mechanical engineers can: + +\begin{itemize} +\tightlist +\item + \textbf{Automate calculations:} Quickly solve equations for heat + transfer, fluid dynamics, and mechanical stresses. +\item + \textbf{Simulate systems:} Model how a bridge bends under weight or + how an engine burns fuel efficiently. +\item + \textbf{Analyze data:} Process thousands of test results to improve + designs. +\item + \textbf{Control machines:} Program robots, 3D printers, and CNC's. +\end{itemize} + +In this course, you'll see how computing and programming applies to +mechanical engineering and how they can make you a better problem +solver. By the end, you'll have the skills and understanding of how to +write programs that help you \textbf{think like an engineer in the +digital age.} diff --git a/tutorials/figures/multi-dimensional-array.gif b/tutorials/figures/multi-dimensional-array.gif Binary files differnew file mode 100644 index 0000000..5cbd710 --- /dev/null +++ b/tutorials/figures/multi-dimensional-array.gif |
