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
Thanks to those who put up with our nonsense and those who paid us
21
23
to write a book that is full of it.
24
+
\endgroup
22
25
26
+
\vfill
27
+
28
+
\begingroup
29
+
The source code for this book is available at [https://github.com/michaelwisely/CS1001-Prelab-Book](https://github.com/michaelwisely/CS1001-Prelab-Book).
30
+
We welcome questions, corrections, and improvements.
31
+
\endgroup
32
+
33
+
\vfill
34
+
35
+
\begingroup
36
+
\footnotesize
37
+
\parindent 0pt
38
+
\parskip \baselineskip
39
+
\textcopyright{} 2016--2018 Nathan Jarus and Michael Wisely
40
+
41
+
\indent
42
+
This work is licensed under the Creative Commons Attribution--ShareAlike 4.0 International License.
43
+
To view a copy of this license, visit [http://creativecommons.org/licenses/by-sa/4.0/](http://creativecommons.org/licenses/by-sa/4.0/)
44
+
or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
45
+
46
+
\begin{center}
47
+
\begin{tabular}{ll}
48
+
Zeroth edition: & August 2017
49
+
\end{tabular}
50
+
\end{center}
51
+
52
+
\endgroup
53
+
\clearpage
23
54
...
24
55
25
-
\chapter*{Introduction}
56
+
\frontmatter
57
+
\chapter{Introduction}
58
+
59
+
The field of Computer Science is an odd amalgamation of math, logic, statistics, philosophy, electrical engineering, psychology, and systems engineering.
60
+
Some of your classes will be hands-on and easily applicable; others will focus on ideas and theory, leaving the application in your hands.
61
+
62
+
Throughought your career as a computer scientist, computer engineer, or software engineer, you will write a lot of software.
63
+
This book focuses on software tools that will be useful in classes, internships, and personal projects.
64
+
Much as chemistry students are taught how to use lab equipment and mechanical engineering students learn the basics of machining,
65
+
this book teaches the basics of tools for writing and debugging software.
66
+
67
+
Each chapter of this book could be a book in itself --- our goal here is to give you an idea of what these tools are useful for
68
+
so that you'll know where to look when you need them in the future.
69
+
We've included links to more information on the book's topics at the end of each chapter, as well as a quick reference on how to use each tool.
70
+
71
+
To get the most out of this book, you must do more than just read each chapter.
72
+
As you read, try out the examples in the chapter.
73
+
Once you get an example working, take it a step further --- try something that seems like it might work, or combine it with something you learned previously!
74
+
Your learning does not end when you finish this book either.
75
+
Keep using the tools we present; practice will improve both how quickly you can accomplish tasks and your understanding of how
76
+
the tools, and by extension computers and software, work.
77
+
78
+
A note on the copyright license of this book: copyright laws are typically used to restrict the rights of others to copy, modify, and distribute creative works.
79
+
This book is distributed under what's known as a 'copyleft' license --- rather than restricting your rights, it ensures that you retain these rights.
80
+
The [Creative Commons Attribution--Share Alike (CC BY-SA)](http://creativecommons.org/licenses/by-sa/4.0/) license states that you have the right to copy, modify, and distribute your modifications to this book
81
+
as you please so long as you follow two rules:
82
+
83
+
1. You have to credit the authors of the work and indicate if you have made any changes.
84
+
2. You have to distribute your changes under the same license, giving others the same rights to your modifications as you (and they) have to the original work.
85
+
86
+
We hope that learning the tools in this book make your life easier and that you have a little fun along the way.
Copy file name to clipboardExpand all lines: 08-Debugging-with-GDB.md
-2
Original file line number
Diff line number
Diff line change
@@ -12,8 +12,6 @@ Maybe take some extra time on a test.
12
12
Steal a quick bagel for breakfast.
13
13
Rob a bank[^escalation]...
14
14
15
-
{ width=80% }
16
-
17
15
It was all fun up to this point.
18
16
But now you're here: standing in front of at an array of red-hot lasers, trapped in the vault of the Big Bank of New York, wondering where it all went wrong, and wearing a fancy turtle neck.
Copy file name to clipboardExpand all lines: 09-Locating-memory-leaks-with-Memcheck.md
+5
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,11 @@ For one example, the [WannaCry](https://en.wikipedia.org/wiki/WannaCry_ransomwar
26
26
viruses use a memory safety exploit called [EternalBlue](https://www.rapid7.com/db/modules/exploit/windows/smb/ms17_010_eternalblue) "allegedly" developed
27
27
by the NSA and released by "Russian" hackers early in 2017.
The year is 1977, and you have just finished hand-writing the final draft of the second edition of the second volume of *The Art of Computer Programming*.
10
14
You send the draft off to the publisher for typesetting, and the proof that comes back is just horrendous.
0 commit comments