summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kolset <christian.kolset@gmail.com>2025-04-23 11:50:21 -0600
committerChristian Kolset <christian.kolset@gmail.com>2025-04-23 11:51:04 -0600
commitbdace8e2e92c49fc3fdb2ff7ed67a9c28a1f972c (patch)
treec02ce1f2bdcfccc97aa95d43b321e48e1e4ff5f8
parentec6f7800ee9afd2cf354b05883502a0a327561d2 (diff)
Added latex /book
-rw-r--r--book/computingME.lof3
-rw-r--r--book/computingME.lot3
-rw-r--r--book/computingME.pdfbin0 -> 44318 bytes
-rw-r--r--book/computingME.synctex.gzbin0 -> 2394 bytes
-rw-r--r--book/computingME.tex28
-rw-r--r--book/computingME.toc3
-rw-r--r--book/module0/intro_to_anaconda.tex192
-rw-r--r--book/module0/intro_to_programming.tex38
-rw-r--r--tutorials/figures/multi-dimensional-array.gifbin0 -> 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
new file mode 100644
index 0000000..b31fe86
--- /dev/null
+++ b/book/computingME.pdf
Binary files differ
diff --git a/book/computingME.synctex.gz b/book/computingME.synctex.gz
new file mode 100644
index 0000000..d554546
--- /dev/null
+++ b/book/computingME.synctex.gz
Binary files differ
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
new file mode 100644
index 0000000..5cbd710
--- /dev/null
+++ b/tutorials/figures/multi-dimensional-array.gif
Binary files differ