• 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 Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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: 79153
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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!
 
Who among you feels worthy enough to be my best friend? Test 1 is to read this tiny ad:
a bit of art, as a gift, the permaculture playing cards
https://gardener-gift.com
reply
    Bookmark Topic Watch Topic
  • New Topic