当前位置:网站首页>[FAQs for novices on the road] understand program design step by step
[FAQs for novices on the road] understand program design step by step
2022-06-13 06:24:00 【Apple II】
Catalog
1. How to think about programming ?
2. What kind of personality and thinking ability should a programmer have ?
3. What books can you read to get started and learn programming ?
To help developers learn and improve quickly , I opened up 《 FAQs for novices on the road 》 The column , Put your questions together , I hope I can give you some quick guidance , Avoid digging holes for yourself , Little detours .
How to explain programming for people who don't know programming and help them understand programming ? Today, let's talk about .

Picture from the Internet
1. How to think about programming ?

picture source :
I have compiled this article 【 Philosophy and practice 】 Computer thinking Computational Thinking, Each of us has a computational mind , It is one of the ways for human beings to break through limitations and solve problems . Computational thinking involves using the basic concepts of computer science to solve problems 、 Designing systems and understanding human behavior . Computational thinking is a kind of recursive thinking , It's parallel processing . Calculation thinking is based on accuracy 、 Efficiency and aesthetic factors to evaluate the process , Computational thinking requires that simplicity and elegance should be considered when evaluating system design . Computational thinking adopts two methods of abstraction and decomposition to design complex systems . Computational Thinking through redundancy 、 The way to correct errors is to prevent in the worst case 、 Protection and restoration . Computational Thinking uses heuristic reasoning to find solutions , Planning under uncertainty 、 Learning and scheduling . Computational thinking needs to balance space and time , Balance processing power and storage capacity . Computational thinking has influenced many disciplines , For example, machine learning in computational thinking has changed statistics . Computational biology 、 Computational game theory 、 Nano computing 、 Quantum computing has changed the way scientists in related fields think . Computational thinking requires people to think at multiple levels of abstraction ; Computational thinking does not require humans to think like computers ; Computational thinking requires people to integrate mathematical and engineering thinking ; Computational thinking is a kind of thought , We can use it to solve problems 、 Manage daily life and interact with others .
2. What kind of personality and thinking ability should a programmer have ?
I wrote about 【 Interest theory 】 Program the ape / Yuan's unique personality charm _ Apple II blog -CSDN Blog
and 【 Software development and people 】 Make a happy program / Yuan , Talked about the characteristics that programmers usually have , They are modest 、 honest 、 Be willing to admit your mistakes 、 thole 、 With curiosity and a strong thirst for knowledge , Know how to cooperate with others , Creative but disciplined , Know how to insist and give up , Follow the trend , Keep learning , Will use clever means to be lazy , Some good habits .
Pete Goodliffe stay 《 Programming craftsmanship 》 In a book, he wrote wittily , The ideal programmer should be a politician , Ability to work with a wide variety of software stakeholders , For example, management personnel 、 Testers 、 Support staff 、 Customers or users, etc .

picture source :What is a Stakeholder? (Definition and Examples) | Glossary
They are kind people , Can cooperate with others happily , Good communication skills , Good at speaking and listening . As for how to do , You can refer to 【 Actual combat skills 】 Communication skills for developers _ Apple II blog -CSDN Blog _ Communication skills of developers
They are artists , Can design elegant solutions .
They are technical geniuses , The code is very stable and easy to use , Have a wide range of technical capabilities , Not confined to a narrow field , That is what we call the whole stack of talents today .

picture source :The Myth of the Full-stack Developer
In terms of thinking ability , Good programmers should have good analytical skills , Logical thinking ability and abstract thinking ability , Good reading and writing skills .
3. What books can you read to get started and learn programming ?

The official website address of this book is :How to Design Programs
picture source :How to Design Programs
Matthias Felleisen Robert Bruce Findler , Matthew Flatt and Shriram Krishnamurthi What we have done How to Design Programs: An Introduction to Programming and Computing A Book , The name of the Chinese version is 《 How to design a program : Introduction to programming and computation 》, Is a programming textbook , Discuss how to write a well-organized procedure from problem description to the end . There is no emphasis on Algorithm and language details , But focus on teaching the design process of the program , Nor does it address a particular application area . This book gives a series of clear program design guidelines , Guide students to start from the description of the problem step by step , Through clearly defined intermediate processes , Training reading 、 analysis 、 organization 、 Experimental and systematic thinking ability , Finally write the program . The book uses a new programming environment . The programming environment will improve with the amount of knowledge learners have , The environment can eventually support the complete Scheme Language , Using this language, you can write both large programs and script programs , It can complete programming tasks in all fields .
Won the 2008 year Jolt Grand Prix Head First Programming: A learner's guide to programming using the Python language Pretty good also , For beginners without programming knowledge , Teach the reader through the classic graphic and easy way , Readers can understand the core functions of all programming languages , Include : Variable , sentence , Decision making , loop , Expressions and operators . Readers learn to reuse code with functions and use library code to save time and energy , You can also choose the best data structure to manage complex data , Learn to write and Web Communication procedure , A program that shares data with other programs and writes test code .

picture source :www.amazon.com
If we can easily help people understand programming , Our own understanding of programming will continue to strengthen . Our own programming skills may also become better .
Feel free to leave a comment , How to do program design well .
边栏推荐
- c语言对文件相关的处理和应用
- Common websites and tools
- Win10 drqa installation
- Echart histogram: stacked histogram displays value
- [JS] handwriting call(), apply(), bind()
- Recent problems
- Alibaba cloud OSS file download cannot be resumed at a breakpoint
- Notifyitemchanged flash back
- Time complexity and space complexity
- Usegeneratedkeys=true configuration
猜你喜欢
随机推荐
JVM Foundation
MFS詳解(七)——MFS客戶端與web監控安裝配置
MFS details (vii) - - MFS client and Web Monitoring installation configuration
电镀挂具RFID工序管理解决方案
Adding classes dynamically in uni app
‘ipconfig‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
Basic knowledge of knowledge map
How to view APK version number from apk
Echart line chart: when multiple lines have the same name, the legend is still displayed
[solution] camunda deployment process should point to a running platform rest API
Not in the following list of legal domain names, wechat applet solution
Applet disable native top
Dragon Boat Festival wellbeing, use blessing words to generate word cloud
不在以下合法域名列表中,微信小程序解决办法
Omron Ping replaces the large domestic product jy-v640 semiconductor wafer box reader
Download and installation of universal player potplayer, live stream m3u8 import
Recyclerview has data flicker problem using databinding
High burst solution 2
自定义View —— 可伸展的CollapsExpendView
Echart histogram: X-axis displays value, Y-axis displays category








