-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcs102-week-one.tex
229 lines (210 loc) · 5.58 KB
/
cs102-week-one.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
\documentclass[14pt,aspectratio=169]{beamer}
\usepackage{pgfpages}
\usepackage{fancyvrb}
\usepackage{tikz}
\usepackage{pgfplots}
\usetheme{auriga}
\usecolortheme{auriga}
\setbeamercolor{background canvas}{bg=lightgray}
% define some colors for a consistent theme across slides
\definecolor{red}{RGB}{181, 23, 0}
\definecolor{blue}{RGB}{0, 118, 186}
\definecolor{gray}{RGB}{146, 146, 146}
\title{Discrete Structures: \\ Python Programming Tools}
\author{{\bf Gregory M. Kapfhammer}}
\institute[shortinst]{{\bf Department of Computer Science, Allegheny College}}
\begin{document}
{
\setbeamercolor{page number in head/foot}{fg=background canvas.bg}
\begin{frame}
\titlepage
\end{frame}
}
%% Slide
%
\begin{frame}{Technical Question}
%
\begin{center}
%
{\large How do I install and use the industry-standard programming tools that will
help me to rigorously explore discrete structures with the Python
programming language?}
%
\end{center}
%
\vspace{2ex}
%
\begin{center}
%
\small Let's learn more about version control, text editors, Docker,
the Markdown language for technical writing, and the Python programming
language!
%
\end{center}
%
\end{frame}
% Slide
%
\begin{frame}{Version Control with Git and GitHub}
%
\begin{itemize}
%
\item Benefits of version control systems
%
\item Using Git and GitHub
\begin{itemize}
\item Git tracks versions of files in directories
\item GitHub enables sharing and collaboration
\item Industry standard tools used in all assignments
\end{itemize}
%
\item Challenges of version control systems
%
\end{itemize}
%
\end{frame}
% Slide
%
\begin{frame}{Editing Markdown and Python with VSCode}
%
\begin{itemize}
%
\item Popularity of VSCode according to StackOverflow
%
\item Using the VSCode development environment
\begin{itemize}
\item Edit Markdown and Python files
\item Commit changes to a GitHub repository
\item Remote collaboration with the Live Share extension
\end{itemize}
%
\item Get started by downloading VSCode from \url{https://code.visualstudio.com/}
%
\end{itemize}
%
\end{frame}
% Slide
%
\begin{frame}{Running GatorGrader and Python with Docker}
%
\begin{itemize}
%
\item Popularity of Docker according to StackOverflow
%
\item Using the Docker during Python programming
\begin{itemize}
\item Download a Docker container from DockerHub
\item Use a Docker container once to grade the work repository
\item Enter into a Docker container to perform multiple commands
\end{itemize}
%
\item Get started by downloading Docker from \url{https://docs.docker.com/desktop/}
%
\end{itemize}
%
\end{frame}
% Slide
%
\begin{frame}{Using Markdown and GitHub for Documentation}
%
\begin{itemize}
%
\item A language for describing how to format rendered text
%
\item Benefits of using Markdown for documentation
\begin{itemize}
\item Simple and powerful approach to technical writing
\item Formats both standard textual elements and source code
\item GitHub natively renders Markdown in a Git repository
\end{itemize}
%
\item Learn more about how to use Markdown by reading \url{https://www.markdownguide.org/}
%
\end{itemize}
%
\end{frame}
% Slide
%
\begin{frame}{Using Python to Explore Discrete Structures}
%
\begin{itemize}
%
\item Discrete structures support precise programming
%
\item Benefits of using Python to explore discrete structures
\begin{itemize}
\item Modern language with exceptional package support
\item Clean syntax and semantics that is easy to learn
\item Out-of-the-box support for many discrete structures
\end{itemize}
%
\item Download Python and start programming by visiting \url{https://www.python.org/}
%
\end{itemize}
%
\end{frame}
%% Slide
%
\begin{frame}{Technical Question}
%
\begin{center}
%
{\large How do I install and use the industry-standard programming tools that will
help me to rigorously explore discrete structures with the Python
programming language?}
%
\end{center}
%
\vspace{2ex}
%
\begin{center}
%
\small Let's look as some specific examples of how to use these tools!
%
\end{center}
%
\end{frame}
% Slide
%
\begin{frame}{Creating a Clone of a GitHub Repository}
%
\setlength{\leftmarginii}{0.5cm}
%
\begin{itemize}
%
\item ``{\tt git clone}'' transfers from GitHub to your computer
%
\item Cloning a Git repository on GitHub
%
{\tiny
\begin{itemize}
%
\item {\tt git clone https://github.com/Allegheny-Computer-Science-102-F2020/cs102-F2020-plans.git}
\end{itemize}
}
%
\item What are the differences in these ``{\tt git clone}'' commands? What are the trade-offs in using them?
%
\end{itemize}
%
\end{frame}
% Slide
%
\begin{frame}{Handy Commands to Support GitHub Use}
%
\begin{itemize}
%
\item ``{\tt git push -u origin master}'' transfers content from your computer
to the GitHub servers
%
\item ``{\tt git commit cs102-week-one.tex}'' commits the changes in the
file to your GitHub repository
%
\item ``{\tt git checkout -b feat/add-week-one-slides}'' creates a branch in
a GitHub repository
%
\end{itemize}
%
\end{frame}
\end{document}