当前位置:网站首页>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 !
边栏推荐
- tmall. product. schema. Get (product information acquisition schema acquisition), Taobao store upload commodity API interface, Taobao commodity publishing interface, Taobao commodity upload API interf
- 报错:npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
- taobao. logistics. dummy. Send (no logistics delivery processing) interface, Taobao store delivery API interface, Taobao order delivery interface, Taobao R2 interface, Taobao oau2.0 interface
- Fabric.js 自由绘制圆形
- Makefile separates file names and suffixes
- mathjax 入门(web显示数学公式,矢量的)
- 天猫商品详情接口(APP,H5端)
- taobao. trade. memo. Add (add remarks to a transaction) interface, Taobao store flag insertion interface, Taobao order flag insertion API interface, oauth2.0 interface
- Fabric. JS manual bold text iText
- [untitled] leetcode 2321 Maximum score of concatenated array
猜你喜欢

Actual combat sharing of shutter screen acquisition

Fabric. JS free draw circle

Implement a server with multi process concurrency

C#代码审计实战+前置知识

Wechat applet uses towxml to display formula

Uniapp automated test learning

Advanced C language (realize simple address book)

Fabric.js 自由绘制圆形

obsidian安装第三方插件——无法加载插件

Fabric. JS upper dash, middle dash (strikethrough), underline
随机推荐
大顶堆、小顶堆与堆排序
tmall.product.schema.get( 产品信息获取schema获取 ),淘宝店铺上传商品API接口,淘宝商品发布接口,淘宝商品上传API接口,店铺上传接口,oAuth2.0接口
Tmall product details interface (APP, H5 end)
LeetCode 209. 长度最小的子数组
MFC 控制台打印,弹出对话框
forEach的错误用法,你都学废了吗
Fundamentals of software testing
MFC CString to char*
LeetCode 2310. 个位数字为 K 的整数之和
Large top heap, small top heap and heap sequencing
STM32 standard firmware library function name memory (II)
ONNX+TensorRT:将预处理操作写入ONNX并完成TRT部署
Implement a server with multi process concurrency
LeetCode_字符串_简单_412.Fizz Buzz
STM32库函数进行GPIO初始化
MQ tutorial | exchange (switch)
Fabric.js 缩放画布
数据库内容输出有问题怎么解决
富文本编辑器添加矢量公式(MathType for TinyMCE ,可视化添加)
Find the maximum inscribed circle of the contour