当前位置:网站首页>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 !
边栏推荐
- C language exercises - (array)
- LeetCode 2320. 统计放置房子的方式数
- Full of knowledge points, how to use JMeter to generate encrypted data and write it to the database? Don't collect it quickly
- Actual combat sharing of shutter screen acquisition
- Wechat applet uses towxml to display formula
- Add vector formula in rich text editor (MathType for TinyMCE, visual addition)
- Implement a server with multi process concurrency
- ##51单片机实验之简易验证码发生器
- Fundamentals of software testing
- Kityformula editor configure font size and spacing
猜你喜欢

STM32 library function for GPIO initialization

关于网页中的文本选择以及统计选中文本长度

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

##51单片机实验之简易验证码发生器

Simple verification code generator for 51 single chip microcomputer experiment

富文本编辑器添加矢量公式(MathType for TinyMCE ,可视化添加)

Fabric. JS zoom canvas

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

【NOI模拟赛】伊莉斯elis(贪心,模拟)

Fabric.js 自由绘制圆形
随机推荐
Yolov6 training: various problems encountered in training your dataset
[untitled] leetcode 2321 Maximum score of concatenated array
Socket and socket address
C语言中的printf函数和scanf函数
STM32标准固件库函数名记忆(二)
CTO如何帮助业务?
STM32 standard firmware library function name (I)
info [email protected]: The platform “win32“ is incompatible with this module.
It's no exaggeration to say that this is the most user-friendly basic tutorial of pytest I've ever seen
871. 最低加油次数 : 简单优先队列(堆)贪心题
Mfc a dialog calls B dialog function and passes parameters
PTA question bank== > complex four operations, one for one, examination seat number (7-73)
3、函数指针和指针函数
Actual combat sharing of shutter screen acquisition
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 自由绘制椭圆
实现一个多进程并发的服务器
btrace-(字节码)动态跟踪工具
Kityformula editor configure font size and spacing
C语言习题---(数组)