Skip to content

Commit a826c51

Browse files
committed
added links to slides (work in progress)
1 parent 6ada8dc commit a826c51

File tree

7 files changed

+49
-27
lines changed

7 files changed

+49
-27
lines changed

README.md

+35-21
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,61 @@
22

33
## 1. Introduction
44

5-
**Download our book from <https://thomasweise.github.io/programmingWithPython/programmingWithPython.pdf>.**
5+
*"Programming with Python"* is both a book and a course held at [Hefei University](http://www.hfuu.edu.cn/english/) ([合肥大学](http://www.hfuu.edu.cn/)).
6+
We here provide all the resources of this course.
67

7-
**If you have any comments or suggestions regarding the book, or if you spotted an error or typo, please feel free to submit an [issue here](https://github.com/thomasWeise/programmingWithPython/issues).**
8-
Your feedback would help us to improve the book.
9-
10-
This book tries to teach undergraduate and graduate students as well as high school students how to program with the Python programming language.
11-
It aims to strike a good balance between theory and practice, leaning more to the practice side.
8+
The goal of the course and book is to teach undergraduate and graduate students how to program with the Python programming language.
9+
The resources may also be suitable to high school students or whoever else may be interested in the topic.
10+
Our aim is to strike a good balance between theory and practice, leaning more to the practice side.
1211
In particular, we try to teach programming together with some software engineering concepts.
1312
It is the firm opinion of the author that these two cannot be separated.
1413
Teaching programming alone without introducing tools such as static code analysis, unit tests, and enforcing principles such as code style and proper commenting will create bad programmers.
1514
So we discuss these aspects while working our way through the principles of programming.
1615

17-
This book is intended to be read on an electronic device.
18-
Please do not print it.
19-
Help preserving the environment.
2016

21-
This book is work in progress.
22-
It will take years to be completed and I plan to keep improving and extending it for quite some time.
17+
## 2. Resources
18+
The website with up-to-date information about the course is <https://thomasweise.github.io/programmingWithPython>.
2319

24-
This book is freely available.
25-
You can download its newest version from <https://thomasweise.github.io/programmingWithPython/>.
26-
This version may change since this book is, well, work in progress.
27-
You can freely share this.
28-
You can also copy text or figures, as long as you cite the book as the original source, e.g., by using the following BibTeX:
20+
### 2.1. The Book
21+
The book itself can be downloaded as pdf at <https://thomasweise.github.io/programmingWithPython/programmingWithPython.pdf>.
2922

30-
<pre>@book{programmingWithPython,<br/>&nbsp;author&nbsp;=&nbsp;{<a href="http://iao.hfuu.edu.cn/5">Thomas&nbsp;Weise</a>},<br/>&nbsp;title&nbsp;=&nbsp;{Programming&nbsp;with&nbsp;Python},<br/>&nbsp;year&nbsp;=&nbsp;{2024},<br/>&nbsp;publisher&nbsp;=&nbsp;{<a href="http://iao.hfuu.edu.cn">Institute&nbsp;of&nbsp;Applied&nbsp;Optimization</a>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.hfuu.edu.cn/aibd">School&nbsp;of&nbsp;Artificial&nbsp;Intelligence&nbsp;and&nbsp;Big&nbsp;Data</a>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.hfuu.edu.cn/">Hefei&nbsp;University</a>},<br/>&nbsp;address&nbsp;=&nbsp;{Hefei,&nbsp;Anhui,&nbsp;China},<br/>&nbsp;url&nbsp;=&nbsp;{<a href="https://thomasweise.github.io/programmingWithPython">https://thomasweise.github.io/programmingWithPython</a>}<br/>}</pre>
23+
### 2.2. The Slides
24+
The slides for the course are available at <https://thomasweise.github.io/programmingWithPythonSlides> and also listed below.
25+
26+
1. [Introduction](https://thomasweise.github.io/programmingWithPythonSlides/01_introduction.pdf)
27+
2. [Getting Started](https://thomasweise.github.io/programmingWithPythonSlides/02_getting_started.pdf)
3128

32-
This book contains a lot of examples.
29+
### 2.3. The Example Python Programs
30+
Our course offers a lot of examples.
3331
You can find all of them in the repository <https://github.com/thomasWeise/programmingWithPythonCode>.
34-
You can clone this repository and play with these example codes.
3532

3633

37-
## 2. License
34+
### 2.4. LaTeX Sources, Graphics, Bibliography, etc.
35+
Both the book and the slides are written in LaTeX.
36+
You can find their sources in <https://github.com/thomasWeise/programmingWithPython> and <https://github.com/thomasWeise/programmingWithPythonSlides>, respectively.
37+
You may use these files under the licensing terms provided below.
38+
39+
40+
## 3. License
41+
All the course material is freely available.
42+
You can download its newest version from <https://thomasweise.github.io/programmingWithPython>.
43+
This version may change since this course and book both are work in progress.
44+
You can freely share this.
45+
You can also copy text or figures under the license given below, as long as you cite the book as the original source, e.g., by using the following BibTeX:
46+
47+
<pre>@book{programmingWithPython,<br/>&nbsp;author&nbsp;=&nbsp;{<a href="http://iao.hfuu.edu.cn/5">Thomas&nbsp;Weise</a>},<br/>&nbsp;title&nbsp;=&nbsp;{Programming&nbsp;with&nbsp;Python},<br/>&nbsp;year&nbsp;=&nbsp;{2024},<br/>&nbsp;publisher&nbsp;=&nbsp;{<a href="http://iao.hfuu.edu.cn">Institute&nbsp;of&nbsp;Applied&nbsp;Optimization</a>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.hfuu.edu.cn/aibd">School&nbsp;of&nbsp;Artificial&nbsp;Intelligence&nbsp;and&nbsp;Big&nbsp;Data</a>,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.hfuu.edu.cn/">Hefei&nbsp;University</a>},<br/>&nbsp;address&nbsp;=&nbsp;{Hefei,&nbsp;Anhui,&nbsp;China},<br/>&nbsp;url&nbsp;=&nbsp;{<a href="https://thomasweise.github.io/programmingWithPython">https://thomasweise.github.io/programmingWithPython</a>}<br/>}</pre>
48+
49+
**If you have any comments or suggestions regarding the book, or if you spotted an error or typo, please feel free to submit an [issue here](https://github.com/thomasWeise/programmingWithPython/issues).**
50+
Your feedback would help us to improve the book.
51+
3852
This book is released under the Attribution-NonCommercial-ShareAlike 4.0 International license (CC&nbsp;BY&#8209;NC&#8209;SA&nbsp;4.0), see [http://creativecommons.org/licenses/by-nc-sa/4.0/](http://creativecommons.org/licenses/by-nc-sa/4.0/) for a summary.
3953

4054
We statically include the [pdfsizeopt](https://github.com/pts/pdfsizeopt) tool in the [GitHub Repository](https://github.com/thomasWeise/programmingWithPython) of our book and use it during the book compiling and building process to compress the book pdf file.
4155
This tool is excluded from the license mentioned above.
4256
It is under the GNU GENERAL PUBLIC LICENSE Version 2, June 1991 and the copyright belongs to its authors.
4357

4458

45-
## 3. Contact
59+
## 4. Contact
4660
If you have any questions or suggestions, please contact
4761
Prof. Dr. [Thomas Weise](http://iao.hfuu.edu.cn/5) (汤卫思教授)
4862
at the Institute of Applied Optimization (应用优化研究所, [IAO](http://iao.hfuu.edu.cn))

styles/definitions.sty

+5-4
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,7 @@
55
\theorembodyfont{\normalfont}%
66
\newcommand{\definitionautorefname}{Definition}%%
77
%
8-
%%% Best Practices
9-
%% The best practices suite offers the command \bestPractice that prints
10-
%% information about a best practice in a framed box.
11-
%% The list of all best practices can be printed via \printBestPractices.
8+
%%% Definitions
129
\newmdtheoremenv[%
1310
linewidth=2pt,%
1411
linecolor=definition-frame,%
@@ -22,6 +19,10 @@ nobreak=true%
2219
%
2320
\newcommand{\@bestPracticeautorefname}{Best Practice}%
2421
%
22+
%%% Best Practices
23+
%% The best practices suite offers the command \bestPractice that prints
24+
%% information about a best practice in a framed box.
25+
%% The list of all best practices can be printed via \printBestPractices.
2526
\newmdtheoremenv[%
2627
linewidth=2pt,%
2728
linecolor=bestpractice-frame,%

text/front/preface/courseUrl.pdf

2.98 KB
Binary file not shown.

text/front/preface/courseUrl.svg

+1
Loading

text/front/preface/preface.tex

+4-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,10 @@ \chapter*{Preface}%
6363
\strut\vfill\strut%
6464
%
6565
\begin{center}%
66-
\includegraphics[width=7cm]{\currentDir/bookUrl}\\%
66+
\begin{tabular}{c@{~~~~~~~~~~~~}c}%
67+
\includegraphics[width=7cm]{\currentDir/bookUrl}&\includegraphics[width=7cm]{\currentDir/courseUrl}\\\relax%
68+
[\href{https://thomasweise.github.io/programmingWithPython/programmingWithPython.pdf}{book pdf}]&[\href{https://thomasweise.github.io/programmingWithPython}{course website}]\\%
69+
\end{tabular}\\[12pt]%
6770
\url{https://thomasweise.github.io/programmingWithPython/programmingWithPython.pdf}%
6871
\end{center}%
6972
%

text/main/basics/gettingStarted/pythonInTheTerminal/pythonInTheTerminal.tex

+2
Original file line numberDiff line numberDiff line change
@@ -190,5 +190,7 @@
190190
In these figures, I was using \ubuntu\ \linux.
191191
On \windows\ or other \linux\ variants, the process would have looked quite similar.%
192192
\endhsection%
193+
%
194+
\bestPractice{runningProgram}{The only proper way to run a \python\ application in a productive scenario is in the terminal, as shown in \cref{sec:terminalPython}.}%
193195
\endhsection%
194196
%

text/main/packages/venvAndPycharm/venvAndPycharm.tex

+2-1
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@
128128
\bestPractice{noPycharmForProductive}{%
129129
\pycharm\ must \textbf{never} be used for running an application in a productive setting. %
130130
It is \emph{only} to be used as \pgls{IDE} for software development. %
131-
For actually executing programs, always use a \pglspl{virtualEnvironment} in the \pgls{terminal} as introduced in \cref{sec:pipAndVenv}.%
131+
For actually executing programs, always use a \pglspl{virtualEnvironment} in the \pgls{terminal} as introduced in \cref{sec:pipAndVenv}. %
132+
See also \cref{bp:runningProgram}.%
132133
}%
133134
%
134135
This holds also and especially for scenarios where we do use \python\ for scientific experiments.

0 commit comments

Comments
 (0)