Skip to content

Commit

Permalink
manual LaTex source
Browse files Browse the repository at this point in the history
  • Loading branch information
yqh committed Apr 20, 2020
1 parent fa3359f commit 065a326
Show file tree
Hide file tree
Showing 36 changed files with 2,360 additions and 0 deletions.
18 changes: 18 additions & 0 deletions manual/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
.SILENT:

.PHONY: all clean

LATEX = pdflatex
PAPER = main_book
OUTPUT = ece252_manual.pdf

main:
$(LATEX) $(PAPER)
bibtex $(PAPER)
$(LATEX) $(PAPER)
mv $(PAPER).pdf $(OUTPUT)

clean:
rm -f *~ $(PAPER).dvi $(PAPER).log $(PAPER).pdf $(PAPER).ind $(OUTPUT)
rm -f $(PAPER).bbl $(PAPER).blg $(PAPER).ps $(PAPER).aux
rm -f $(PAPER).out $(PAPER).lot $(PAPER).lof $(PAPER).toc
38 changes: 38 additions & 0 deletions manual/app_group_split_request_form.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
\chapter{Forms}
Lab administration related forms are given in this appendix.
\newpage
\begin{center}
{\bf ECE252 Request to Leave a Project Group Form}
\end{center}

\begin{table*}[h]
\begin{center}
\begin{tabular}{|p{6cm}|p{6cm}|}
\hline
Name: & \\ \hline
Quest ID: & \\ \hline
Student ID: & \\ \hline
Lab Assignment ID & \\ \hline
Group ID: & \\ \hline
Name of Other Group Members: & \\ \hline
\end{tabular}
\end{center}
\end{table*}

Provide the reason for leaving the project group here:

\vspace{9cm}

\begin{table*}
\begin{center}
\begin{tabular}{p{6cm} p{1cm} p{6cm}}
Signature && Date \\
\cline{1-1}
\cline{3-3}
\end{tabular}
\end{center}
\end{table*}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "main_book"
%%% End:
10 changes: 10 additions & 0 deletions manual/bib/bibliography_book.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
%==========================================================
% BIBLIOGRAPHY
%==========================================================

\bibliographystyle{plain}
\bibliography{main}
\renewcommand{\bibname}{References} % for the report or book class
\addcontentsline{toc}{chapter}{\textbf{References}} % for book/report class
%\renewcommand{\refname}{References} % for the article class
%\addcontentsline{toc}{section}{\textbf{References}} % for article class
5 changes: 5 additions & 0 deletions manual/code/linux/HelloWorld/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
helloworld.out: helloworld.o
gcc -o helloworld.out helloworld.o

helloworld.o: helloworld.c
gcc -c helloworld.c
2 changes: 2 additions & 0 deletions manual/code/linux/HelloWorld/Makefile1
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
helloworld.out: helloworld.c
gcc -o helloworld.out helloworld.c
2 changes: 2 additions & 0 deletions manual/code/linux/HelloWorld/Makefile1.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
helloworld.out: helloworld.c
gcc -o helloworld.out helloworld.c
4 changes: 4 additions & 0 deletions manual/code/linux/HelloWorld/Makefile2.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
helloworld.out: helloworld.o
gcc -o helloworld.out helloworld.o
helloworld.o: helloworld.c
gcc -c helloworld.c
9 changes: 9 additions & 0 deletions manual/code/linux/HelloWorld/Makefile3.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
all: app.out
app.out: src1.o src2.o
gcc -o app.out src1.o src2.o
src1.o: src1.c
gcc -c src1.c
src2.o: src2.c
gcc -c src2.c
clean:
rm *.o app.out
16 changes: 16 additions & 0 deletions manual/code/linux/HelloWorld/Makefile4.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Makefile to build app.out
CC=gcc
CFLAGS=-Wall -g
LD=gcc
LDFLAGS=-g

OBJS=src1.o src2.o

all: app.out
app.out: $(OBJS)
$(LD) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS)
.c.o:
$(CC) $(CFLAGS) -c $<
.PHONY: clean
clean:
rm -f *.o *.out
8 changes: 8 additions & 0 deletions manual/code/linux/HelloWorld/helloworld.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("Hello World!\n");
exit(0);
}
8 changes: 8 additions & 0 deletions manual/code/linux/HelloWorld/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("Hello World!\n");
exit(0);
}
5 changes: 5 additions & 0 deletions manual/code/linux/HelloWorld/makefile.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
helloworld.out: helloworld.o
gcc -o helloworld.out helloworld.o

helloworld.o: helloworld.c
gcc -c helloworld.c
55 changes: 55 additions & 0 deletions manual/frontmatter.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
\frontmatter

% title page, list of tables, list of figures
\input{frontmatter_title}

%Brief overview of the document, acknowledgement, disclaimer
\chapter{Preface}

\section*{Who Should Read This Lab Manual?}
This lab manual is written for students who are taking Electrical and Computer Engineering (ECE) Systems Programming and Concurrency course ECE252 in the University of Waterloo.

\section*{What is in This Lab Manual?}

The first purpose of this document is to provide the descriptions of each laboratory project.
The second purpose of this document is a quick reference guide of the relevant development tools
for completing laboratory projects. This manual is divided into three parts.

Part I describes the lab administration policies

Part II is a set of course laboratory projects as follows.

\begin{itemize}
\item Lab1: Introduction to systems programming in Linux computing environment
\item Lab2: Multi-threaded concurrency programming with blocking I/O
\item Lab3: Inter-process communication and concurrency control
\item Lab4: Parallel web crawling
\item Lab5: Single-threaded concurrency programming with asynchronous I/O
\end{itemize}

Part III is a quick reference guide of the Linux software development tools. We will be using Ubuntu 18.04 LTS operating system. Materials in this part needs to be self-studied before lab starts.
The main topics are as follows.

\begin{itemize}
\item Linux hardware environment
\item Editors
\item Compiler
\item Debugger
\item Utility to automate build
\item Utility for version control
\end{itemize}


% A C K N O W L E D G E M E N T S
% -------------------------------

\section*{Acknowledgments}

We are grateful that Professor Patrick Lam shared his ECE459 projects with us. Eric praetzel has provided continuous IT support, which makes the Linux computing environment available to our students.

We would like to sincerely thank our students who took ECE254 and ECE459 courses in the past few years. They provided constructive feedback every term to make the manual more useful to address problems that students would encounter when working on each lab assignment.

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "main_book"
%%% End:
90 changes: 90 additions & 0 deletions manual/frontmatter_title.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
% T I T L E P A G E
% -------------------
% This file goes along with the master LaTeX file uw-ethesis.tex
% Last updated May 27, 2009 by Stephen Carr, IST Client Services
% The title page is counted as page `i' but we need to suppress the
% page number. We also don't want any headers or footers.
\pagestyle{empty}
\pagenumbering{roman}

% The contents of the title page are specified in the "titlepage"
% environment.
\begin{titlepage}
\begin{center}
\vspace*{1.0cm}

\Huge
{\bf Electrical and Computer Engineering (ECE) Systems Programming and Concurrency ECE252 Laboratory Manual}

\vspace*{1.0cm}

\normalsize
by \\

\vspace*{1.0cm}

\Large
Yiqing Huang \\
Jeff Zarnett

\vspace*{3.0cm}

\normalsize
Electrical and Computer Engineering Department \\
University of Waterloo \\

\vspace*{2.0cm}
\makeatletter
Waterloo, Ontario, Canada, \@date \\
\makeatother



\vspace*{1.0cm}

\copyright\ Y. Huang and J. Zarnett 2019 \\
\end{center}
\end{titlepage}

% The rest of the front pages should contain no headers and be numbered using Roman numerals starting with `ii'
\pagestyle{plain}
\setcounter{page}{2}

\cleardoublepage % Ends the current page and causes all figures and tables that have so far appeared in the input to be printed.
% In a two-sided printing style, it also makes the next page a right-hand (odd-numbered) page, producing a blank page if necessary.
%\newpage

\cleardoublepage
%\newpage

% T A B L E O F C O N T E N T S
% ---------------------------------
\tableofcontents
\cleardoublepage
%\newpage

% L I S T O F T A B L E S
% ---------------------------
\listoftables
\addcontentsline{toc}{chapter}{List of Tables}
\cleardoublepage
%\newpage

% L I S T O F F I G U R E S
% -----------------------------
\listoffigures
\addcontentsline{toc}{chapter}{List of Figures}
\cleardoublepage
%\newpage

% L I S T O F S Y M B O L S
% -----------------------------
% \renewcommand{\nomname}{Nomenclature}
% \addcontentsline{toc}{chapter}{\textbf{Nomenclature}}
% \printglossary
% \cleardoublepage
% \newpage

% Change page numbering back to Arabic numerals
\pagenumbering{arabic}

Binary file added manual/img/img_concatenation.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/img/lab0/MobaXterm/MobaXterm_Path.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/img/lab0/lab0_P_Drive.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/img/png_chunk_format.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added manual/img/png_file_format.PNG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 065a326

Please sign in to comment.