• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Devaka Cooray
  • Liutauras Vilda
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Paul Clapham
  • Knute Snortum
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Ron McLeod
  • Piet Souris
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Frits Walraven
  • Ganesh Patekar

How to Think Like a Computer Scientist: how important is it to think like a computer scientist?

 
Greenhorn
Posts: 3
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Regarding your book Think Java: How to Think Like a Computer Scientist, how important is it to think like a computer scientist? How different is that way of thinking from simply a computer programmer?
 
Ranch Hand
Posts: 51
1
Eclipse IDE Python Java
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Is there a difference between thinking like a computer scientist, when you are focusing on working with OOP languages like Java and thinking like a computer scientist focusing on languages better suited to other types of programming like Python? In other words, does the approach you take regarding languages and programming paradigms influence your thought processes?
 
Author
Posts: 14
6
Postgres Database Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Michael,

You bring up a good point, and to be honest, the book doesn't really get into deep philosophical debates about computer scientists vs programmers. However, there is a difference between people who simply write code (or paste from online forums) and those who develop skills beyond coding like debugging, using the command line, composing algorithms, executing code by hand, drawing diagrams, etc. The book focuses more on these major process skills and less on minor details of the Java language. Plus it's really helpful for learning the vocabulary, which enhances both thinking and communication.

--Chris
 
Chris Mayfield
Author
Posts: 14
6
Postgres Database Java Linux
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Marcus,

That's a really good question, and I would say the answer is yes. The language, and especially the first language, has a big impact on the way you think about problem solving and computing. This book definitely helps students begin thinking like computer scientists, but clearly the more languages and experience people have the deeper their thinking will be.

--Chris
 
Marshal
Posts: 65110
247
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Those of us who work with new languages would think much deeper than debugging, etc. We have to consider the likely output of a program, whether you can consider two programs mutually equivalent, working out whether a program will start and terminate, etc. That theory can actually look much simpler than an executable program.
Another theoretical concept which impinges greatly on practical programming is the complexities of algorithms.
Although Sir Tony Hoare and He Jifeng write:-

Hoare and He, Unifying Theories of Programming, Hemel Hempstead: Prentice‑Hall (1998), Preface page ix wrote: As in all branches of engineering, the practice comes first, both in importance and in historical order.

I do not believe you can do the practice correctly without an understanding of the underlying theories. Computer science relies heavily on various branches of maths, including logic. But logic is about three millennia old, as against computer science, which is much older than it was when I first did any programming. Actual programming goes back only about ¾ of a century; before that there was no such machine as a computer. My programming knowledge spans more than half that period, though I did no programming for over thirty of those years.
 
Marcus Rauchfuss
Ranch Hand
Posts: 51
1
Eclipse IDE Python Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Chris Mayfield wrote:Marcus,

That's a really good question, and I would say the answer is yes. The language, and especially the first language, has a big impact on the way you think about problem solving and computing. This book definitely helps students begin thinking like computer scientists, but clearly the more languages and experience people have the deeper their thinking will be.

--Chris



Thank you!
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!