010587021
Google Books
Note to grade: I condensed the urls to words to make it more
aesthetically pleasing. I have posted an appendix with the raw urls in
case you need them.
1. Name: Writing for Computer Science
url: Link to book 1
Writing for computer Science is a book that is all about teaching
programmers how to properly present their research in a formal writing
context. This book is not about algorithms, programming languages,
or programming techniques, but rather writing methods for scientific
research. The author recognizes that the average computer scientist is
not equipped with the linguistics possessed by an English major, and
therefore could use a lesson on putting their thoughts on paper. All
areas have their stereotypes and computer people tend to be thought
of as less social than most. This book attempts to help the readers
fight this assumption and strengthen the writing of computer
scientists.
This book attempts to help the reader solve any stage of the
writing process. For example, in the Editing chapter, it guides the
editor through how to check for consistency in tense, and proofs.
Furthermore, it tells the user to check the writing style, and make sure
it is both consistent, and appropriate. Although, simply appropriate
style does not guarantee that the writing style chosen is the best one
for the document. This book also helps the user choose the best word
processor to use depending on the document format. Finally, the
editing chapter is closed with an editing checklist to ensure nothing
slips through the cracks.
For most readers, this book is not intended as a sit down and
read chapter by chapter kind of book. This book is used as an aid for
those who might be doing something specific, such as writing a
research report. Writing for computer Science walks the reader
through the whole process of writing, from scoping the task to editing
the final product. The author also provides sections helping readers
polish up non-technical writing and grant applications. This book is
looking to assist, whether one is polishing a specific document, or
searching for general guidelines.
2. Name: Foundations of Computer Science
url: Link to book 2
State diagrams and flow diagrams are used to make sure each possible
state of the code is accounted for during the planning phase. The
diagrams are helpful to ensure errors do not occur. It is much easier to
catch possible errors and account for them before they even happen
than to debug an error filled code. Object-oriented coding, when done
right, is ideal for debugging and modification by both the original
programmer and others reading the code.
Object-oriented programming practices are used universally by
programmers, and usually one ends up following many of the practices
whether one knows it or not. This book can help readers of all skill
level in program development. There are complex ideas accompanied
by easier techniques so that many can benefit from the material.
Object-oriented programming is essentially just a way of thinking and
some practices to follow. However, these practices can help one
understand some extremely complex ideas, and even make complex
ideas simpler.
4. Name: Python Programming: An Introduction to Computer
Science
url: Link to extra credit article
Python Programming: An Introduction to Computer Science is an
introduction to programming that uses the newer language, python, as
the basis of its teachings. It is widely debated which language should
be taught to a new programmer. This book does not join in the debate,
but rather provides the reader with simple and early concepts so that it
can help with someone who wants to learn python as their first
language. The book also uses advanced techniques to help a more
advanced programmer be able to use python to the extent they can
use other languages in their arsenal.
Python is a spacing driven language so the tabs and spacing
matter. In earlier languages, characters such as semicolons and
brackets are used to tell the compiler what is going on, but python
does not. If one reads code in a language like C++, they would see a
semicolon at the end of each line. This is not the case for python
because a python compiler can recognize an enter or new line as
the end of a line. One advantage to this is simply less typing.
Python is a sleek and good-looking langue. This language is
easier to read than most and usually easier to write as a result. One
problem with starting here that the author has noted is that it doesnt
acclimate the early programmer with the frequent usage of symbols
and brackets that they would need to learn when moving onto another
language. An advantage with starting in python is that it forces the
user to learn and use good spacing and formatting techniques that
other programmers will like to see. This book is a resource for someone
looking to learn python, regardless of the readers programming
experience prior to reading this book.
Appendix:
Book 1:
https://books.google.com/books?
id=LWCYBgAAQBAJ&printsec=frontcover&dq=computer+science&hl=e
n&sa=X&ved=0ahUKEwitvuuzxdzKAhUXzWMKHU83B4Q6AEINDAB#v=onepage&q=computer%20science&f=false
Book 2: https://books.google.com/books?
id=FR3hDzt1icsC&printsec=frontcover&dq=computer+science&hl=en
&sa=X&ved=0ahUKEwitvuuzxdzKAhUXzWMKHU83B4Q6AEIZDAJ#v=onepage&q=computer%20science&f=false
Book 3: https://books.google.com/books?
id=2oLOia08YZ0C&printsec=frontcover&dq=computer+science+objec
toriented&hl=en&sa=X&ved=0ahUKEwjK1piGz9zKAhXLbD4KHSdZACIQ
6AEINzAB#v=onepage&q=computer%20science%20objectoriented&f=false
Book 4 (extra credit): https://books.google.com/books?
id=aJQILlLxRmAC&printsec=frontcover&dq=computer+science+pytho
n&hl=en&sa=X&ved=0ahUKEwiq6ZDq09zKAhUL12MKHYDgD9UQ6AEIL
zAA#v=onepage&q=computer%20science%20python&f=false