当前位置:网站首页>Why can't programmers who can only program become excellent developers?
Why can't programmers who can only program become excellent developers?
2022-07-02 14:59:00 【Apple II】
Catalog
1 The purpose of the developer
3 Computational thinking is an ability that many people can have
4 Technology can enter the road : Adhere to the spirit of craftsmanship and avoid pragmatism
Today, I try to use the perspective of Computing Education , Explain why programmers who can only program cannot become good developers . I hope you can start from the problem , Cultivate definition questions 、 To analyze problems 、 Ability to design test solutions and optimize solutions , From the perspective of engineering methodology , Create your own computing works .
1 The purpose of the developer
Computer science and technology have greatly changed our world , The way of thinking of Computer Science 、 Problem solving methods and creative methods have become very valuable for all aspects of life . When we talk about computer related topics , I hope you can broaden your thinking , With relevant knowledge in the field of Computing , Use some basic thinking methods in the field of computing and self created artifacts ( Or program ), To do something meaningful and valuable . If it's just to show what program it can do , What competition can you participate in to help you enter a higher school , This must not go far in the field of Computing . Talking about basic education of Computer Science , I highly recommend that you study and refer to the United States K-12 Computer science education framework ( Hereinafter referred to as the framework ), You can go to https://k12cs.org/wp-content/uploads/2016/09/K%E2%80%9312-Computer-Science-Framework.pdf Download this framework .
I very much agree with the vision of computer science education mentioned in the framework , I also hope that more people can understand the meaning behind this passage .
All students engage critically in computer science problems ; Solve problems in an innovative way ; And create with actual 、 Computational artifacts of personal or social significance .
The English content is shown in the figure .
The details are as follows ,
The framework describes the process of computer science experienced by students in basic education in the United States .
The framework includes core concepts and core practices .
We can see it from here , Algorithms and programming are part of the core concepts , Creating computing artifacts with programming is only a part of practice . If we only see or teach children to learn programming , There will be great limitations . Because when it comes to programming , You immediately think of languages and algorithms , Lack of systematic understanding of the whole system in the field of Computing . In addition to algorithms and programming , To understand computer science , Also understand computer systems 、 The Internet and the Internet 、 Data and analysis, as well as understanding the positive and negative effects of Computing . To be frank , In the field of computer , Programming is really a small part . When we want to use artifacts or programs to solve some problems and create some value , We need to know a lot about things other than programming , Do more time than programming , For example, abstract a problem into an algorithm , Then it becomes a code program that can run smoothly , Also build a system environment for these codes to run , For example, cloud server 、 The Internet 、 application server 、 Operating system or hardware .
2 Developer workflow
Compared with the program (Progarmmer) The word , I prefer to call myself a developer (Developer), Because the word "program yuan" really can't explain my work content and my full value , As a developer , When I meet a problem I want to solve , I will follow the process in the figure below .
We should turn the problem we want to solve into an applicable computing artifact , As a developer , I will complete the following process :
To analyze problems , Turn problems into function points of software products , In this process, I need to have the decomposition ability to transform problems into functions ;
Design and calculate the workpiece for each function point , Use the ability to transform concrete into abstract , Looking for technical solutions , Create data objects 、 Program logic and external connections with users, etc , User experience will also be considered in the design process 、 Information security and third-party access ;
Choose one or several languages to program and implement artifacts ;
When the workpiece is finished , I find users to test , Get user feedback .
In the process , You will find out , If I can only program, I can't finish a work . I need the ability to analyze problems , Need to communicate and cooperate with others , Translate concrete problems into abstract implementations , We should also restore the abstract computing implementation to specific problems or scenarios , I also need soft skills such as innovation . All these require me to have good engineering thinking and scientific thinking , I suggest you read 【 education 】 Learning and research materials of scientific thinking and engineering thinking . As a developer , I feel the development and fun of working in the field of Computing , I like the group of workers in the field of Computing , Because most of them 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 . You can read 【 Interest theory 】 Program the ape / Yuan's unique personality charm _ Apple II blog -CSDN Blog Get more information .
3 Computational thinking is an ability that many people can have
As a member of modern society , Whether you are a practitioner in the field of computing or not , You can ask yourself when you encounter problems , I can use my knowledge of Computing 、 How to think and solve problems and specific artifacts to solve problems , If it can be solved , What do I need to do ? Because the ability of calculating thinking , In fact, many people have , You can see that 【 Philosophy and practice 】 Computational Thinking Computational Thinking as well as 【 Computer education 】 see 《 Introduction to Computer Science 》, Develop computational thinking skills .
I was there
It is highly recommended that you read computer educators Mark Guzdial The article : The significance of computer education : Computer education is 21 The foundation of the century culture Computing Education as a Foundation for 21st Century Literacy, You can go to Computing Education as a Foundation for 21st Century Literacy | Proceedings of the 50th ACM Technical Symposium on Computer Science Education Download the paper ,
visit https://www.slideshare.net/markguzdial/computing-education-as-a-foundation-for-21st-century-literacy https://www.slideshare.net/markguzdial/computing-education-as-a-foundation-for-21st-century-literacy You can download slides of the speech .
4 Technology can enter the road : Adhere to the spirit of craftsmanship and avoid pragmatism
Write these things , I hope when it comes to computer education , Educators should let learners experience some ways of thinking in the field of Computing 、 Ways to solve problems and create , Feel the core idea behind these ways and methods 、 The role of finding and solving problems , Then on these basis , You can really make your own computing work . I hope you can leave some misunderstandings , For example, I think that computer learning is to learn the content that can participate in the competition , Learn skills that can be seen and displayed immediately . Weiyuan once said ” Technology can enter the road “, I hope our education can spread more words , At the same time, it distinguishes between craftsmanship and pragmatism and ostentation , Because these two are not the same thing . The spirit of craftsman is actually based on a deep understanding of ideas and methods , Then use knowledge to create your own works . This point , Japan, our nearest and farthest neighbor, has long demonstrated to us . Study computer science , Please don't just emphasize programming , Because we should be able to do real things in the field of Computing , Programming is only a small part . Therefore, it is suggested that everyone who works as an institution should name it later , Don't just use programming , By calculating (Computing) Relatively more comprehensive . You can use core concepts and core practices to replace the word limited programming .
Last , I hope in this golden age of Computer Science , Through our high-quality computer education , Train more talents , Create valuable works , Improve or change our work and life . I also hope the developer friends who read this article , Actively cultivate your skills , May you all be skilled , Make excellent calculation works !
边栏推荐
- CTO如何帮助业务?
- A white hole formed by antineutrons produced by particle accelerators
- kityformula-editor 配置字号和间距
- Obsidian installs third-party plug-ins - unable to load plug-ins
- C# richTextBox控制显示最大行数
- Delete element (with transition animation)
- Threejs controller cube space basic controller + inertia control + flight control
- taobao. trades. sold. Get query the transaction data that the seller has sold (according to the creation time), Taobao store sales order query API interface, Taobao R2 interface, Taobao oauth2.0 trans
- 4. Array pointer and pointer array
- Fabric. JS free drawing ellipse
猜你喜欢
电脑怎么设置扬声器播放麦克风的声音
实用调试技巧
Obsidian installs third-party plug-ins - unable to load plug-ins
mathML转latex
Thoroughly master prototype__ proto__、 Relationship before constructor (JS prototype, prototype chain)
C language exercises - (array)
How does CTO help the business?
Li Chuang EDA learning notes 15: draw border or import border (DXF file)
【NOI模拟赛】伊莉斯elis(贪心,模拟)
Kityformula editor configure font size and spacing
随机推荐
PTA题库 ===>复数四则运算,一帮一,考试座位号(7-73)
C code audit practice + pre knowledge
Fabric. JS dynamically set font size
[Space & single cellomics] phase 1: single cell binding space transcriptome research PDAC tumor microenvironment
Fundamentals of software testing
用户隐私协议有些汉字编码不规范导致网页显示乱码,需要统一找出来处理一下
Find the maximum inscribed circle of the contour
[QNX hypervisor 2.2 user manual]6.3 communication between guest and external
taobao. trade. memo. Add (add remarks to a transaction) interface, Taobao store flag insertion interface, Taobao order flag insertion API interface, oauth2.0 interface
How does CTO help the business?
SQL 后计算的利器 SPL
871. 最低加油次数 : 简单优先队列(堆)贪心题
taobao.trades.sold.get-查询卖家已卖出的交易数据(根据创建时间),淘宝店铺卖出订单查询API接口,淘宝R2接口,淘宝oAuth2.0交易接口代码分享
info [email protected] : The platform “win32“ is incompatible with this module.
LeetCode 209. Minimum length subarray
String matching problem
STM32库函数进行GPIO初始化
C# richTextBox控制显示最大行数
Ad20 cannot select the solution of component packaging in PCB editor
[development environment] install the visual studio community 2013 development environment (download the installation package of visual studio community 2013 with update 5 version)