You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: text/main/basics/gettingStarted/installingPyCharm/installingPyCharm.tex
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
Just having a programming language and the corresponding interpreter on your system is not enough.
5
5
Are you going to write programs in a simple text editor like a caveperson?
6
6
No, of course not, you need an \pgls{IDE}, a program which allows you to do multiple of the necessary tasks involved in the software development process under one convenient user interface.
7
-
For this course, I recommend using \pycharm, whose community edition is freely available.
7
+
For this book, I recommend using \pycharm, whose community edition is freely available.
8
8
The installation guide for \pycharm\ can be found at \url{https://www.jetbrains.com/help/pycharm/installation-guide.html}.%
A big part of our life consists of performing tasks, chores, and other work.
3
3
Often, we do not enjoy performing chores and tasks and other work.
4
4
Naturally, we want to delegate them.
@@ -11,7 +11,7 @@
11
11
\inQuotes{Wash my hair, then cut it down to 1cm on the top, trim the sides, then color it green.}
12
12
13
13
In either cases, you provided the other person with a clear and unambiguous sequence of instructions in a language they can understand.
14
-
In this course, you will learn to do the same --- with computers.
14
+
In this book, you will learn to do the same --- with computers.
15
15
%
16
16
\begin{definition}[Computer Program]%
17
17
A \emph{computer program} is an unambiguous sequence of computational instructions for a computer to achieve a specific goal.%
@@ -36,22 +36,18 @@
36
36
The activity of pure programming listed in \cref{def:programming} is only one part of software development.
37
37
Imagine the following scenario:
38
38
39
-
A person, say your future boss, comes to you and says:
40
-
\inQuotes{Write a program that solves this task here.}
41
-
Then you write the program and give her the text file.
42
-
Everybody is happy, the problem is solved.
39
+
In this book we discuss how to translate some kind of specification into \python\ code.
40
+
Let's say that later in your job, you want to develop a program that can be used to solve a specific task.
41
+
So, well, you write the program.
42
+
You learned how to do that with this book.
43
+
So you now have the file with the program code.
44
+
The problem is solved.
43
45
44
-
Sounds kind of unrealistically, right?
45
-
You get a task and just write the program that solves it.
46
-
Is it that easy?
47
-
Well, OK, you can reasonably expect that you learn how to do that in this course.
48
-
This course is focussed on the \python~3 programming language~\cite{H2023ABGTP3P,LH2015DSAAWP}.
49
-
So you expect to learn how to translate some kind of specification into \python\ code.
50
-
Fine.
51
-
52
-
But how does your boss know that the program you give her will do the job?
53
-
And that it will do so reliably?
54
-
What sort of confidence can she have into the assumption that you won't be making any errors?
46
+
Is that easy?
47
+
On one hand, you may wonder whether you made any mistake.
48
+
We are people, we all make mistakes.
49
+
The more complex the task we tackle, the more (program code) we write, the more likely it is that we make some small error somewhere.
50
+
So probably you want to \emph{test} your program, i.e., check if it really computes the things that it should compute it the way you intended it to compute these things.
55
51
56
52
And what if your program is not just a single-use, stand-alone kind of program?
57
53
What if it is part of some sort of software ecosystem?
@@ -70,20 +66,22 @@
70
66
71
67
All of these things need to be considered when we learn how to program.
72
68
Because you do not just \inQuotes{program,} you develop software.
69
+
73
70
In typical courses, such aspects are ignored.
74
71
In a typical course, you learn how to write a small program that solves a certain task.
75
72
The task is usually simple, so the teachers are able to read your code even if you have ugliest style imaginable.
76
73
Also, nobody is ever going to look at or use the programs you write as your homework again.
77
-
So none of the above really matters.
74
+
In such a pristine scenario, none of the above really matters.
78
75
But in reality, things are not always simple.
79
76
80
77
One may hope that, as one of the very first things, surgery students in medical school are taught to wash their hands before performing surgery.
81
78
And you, our dear students, can expect us to teach you how to develop software properly.
82
79
And we will try to do that.
83
80
We will teach you how to write clean, well-documented, and properly tested programs.
84
81
Right from the start.
85
-
Such that all of your code will be reusable, readable, clear, clean, and beautiful.
82
+
Such that all of your code will be reusable, readable, clear, clean, and \emph{beautiful}.
86
83
87
-
As a result, this will be a course which is very practice centered.%
84
+
As a result, this will be a course which is very practice centered.
0 commit comments