《斯坦福大学人生设计课》

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《斯坦福大学人生设计课》相关的知识,希望对你有一定的参考价值。

参考技术A 斯坦福大学人生设计课

比尔·柏奈特 戴夫·伊万斯

推荐序 0530

>> 人生设计”就是把设计思维运用在职业生涯规划上的一种方式,课程的目标是“如何运用设计思维,发现自己未来想做什么?”。

三个例子 传统思维和设计思维的差异

1. 不要坚持初心,而是重新定义问题

例子:作者很小的时候认为自己注定要成为一个物理家(父母/成绩/老师),但是后来他重新思考,意识到自己并不是想做物理家,而是发现了自己真正的特质和喜欢的事情。

# 现在回头去想,我意识到自己其实对于物理并不算太感冒。我的物理学得很好,因为老师很喜欢我;我喜欢和别人分享有趣的知识,而相对论是个不错的选择;我热衷于幻想而不是研究,甚至还写过几篇科幻小说……#

# 我是一个关注概念和关系的人,我在“分享自己挖掘来的有趣想法给大家,并且对他人有帮助”的时候最快乐——这是一个老师、作家、助人者、支持者的工作,也是今天我正在做的事。#

#你看,我一直以为自己的初心是“物理学家”,但其实我只是喜欢“与人分享有趣的理念”。物理只是一个渠道,我还有很多其他的渠道。#

>> 正如福特说的,如果你问没有发明汽车前的大众,你想要什么?他们会说“一匹飞快的马”(名词),但是如果你问他们,你想要做什么?他们的答案是“更快地抵达”(动词)。在人生设计课里,“小时候,你有什么目标?” 这个问题被重新定义为:“你在什么时候最快乐、最有能量?”当初心从“名词”转换为“动词”,我们就能找到自己真正关切的东西。

2. 不是找到最适合自己的方向,而是拥有很多个选择

>> 职业生涯里有一个很大的难题——什么是自己最适合的方向?如何找到这个方向?如何确定它是“最适合”的?

>> 现在,问题又绕回来了:你究竟最适合什么样的生活?

>> 其实,“最适合”本身就是一个坑,因为“最”是极端词,而“适合”是动词。随着你不断地成长,做成了一件又一件事,能力和资源不断提升,“最适合”的答案也一天天在不断变化,永远定不下来。

>> 人生设计的思路是——每个人都有许许多多可能适合自己的生活方式。人生设计课会逼你,对,就是逼你进行头脑风暴,想出至少10个选择,不管靠谱不靠谱——因为一个好点子来自很多点子,输入决定输出。

真正好的人生状态是:我发现了很多适合自己的选择,而且决定从某个选择开始先试试看。

3. 不要“做出决定,坚定推进”,而是“边走边看,低成本试错”

>> 人生设计课则提供了一个全然不同的思路: 当你没有真的推进的时候,你根本不知道自己会遇到什么困难。 互联网公司的做法是进行AB测试,而最聪明的人生设计方法,是做一个“AB人生原型”,然后开始小范围试错。

>> 相比在焦虑、犹豫中来回摇摆的心力交瘁,探索本身就是一件快乐、有趣,而且效率更高的事情。而且,你在尝试中学到的东西,也会迭代到未来的新选项中去。

总结:

>> 好了,现在我们把前面三个标题的前半句话连在一起,就成了你常常听到的传统的职业规划思路——“专注初心,找到最适合自己的选择,做出决定并且把事情做成。”

>> 而把后面这三句话连在一起,则是人生设计的思路——“重新定义问题,找到尽可能多的选择,选择一个进行快速尝试,直到成功。”

>> 前者是做人生工程,后者是做人生设计。

>> 人生设计的好处是做出更加有趣、没有痛苦的决策,探索过程本身就是个快乐的创作过程,更加适应变化,更容易活出独特的人生。

备注: “设计你的人生”(网站是:www. designingyour.life)

思维误区1:你的学位决定你的职业生涯

重新定义:3/4的大学毕业生最后从事的工作都与他们所学的专业无关。

例子说明:美国,只有27%的大学生毕业后所从事的工作和他们所学的专业有关。

思维误区2: 获得成功就会感到幸福

重新定义:真正的幸福源于设计有意义的人生。

例子说明:美国,有2/3的职场人士对他们的工作不满意,有15%的人甚至痛恨他们的工作。

思维误区3: 太晚了

重新定义:设计一种自己热爱的生活,何时都不晚。

例子说明:在美国,年龄在44~70岁的成年人中,有超过3100万的人想要拥有一种“返场事业”—— 一份既可以体现个人生活意义和社会影响力,又可以继续赚钱的工作。

几个问题

· 我如何才能找到一份自己喜欢的甚至是热爱的工作?

· 我如何才能创立一番伟大的事业,过上美好的生活?

· 我如何才能平衡好生活和工作之间的关系?

· 我如何才能实现自己的人生价值?

· 我如何才能变得苗条、性感,并拥有巨额财富?

核心概念

“重新定义”是设计师应该具有的最重要的设计心态之一,很多伟大的创新都起源于“重新定义”。在提到设计思维时,我们经常会说:“不要从问题开始,要以人为本,抱持同理心。”一旦设计师与使用他们设计的产品的顾客有了同样的感受,他们就会确定设计理念、开动脑筋、进行头脑风暴和原型设计、挖掘他们不了解的地方。显然,这就是“重新定义”,即“轴点运动”。“重新定义”是指当我们对某个问题获得新的信息后,重新阐述我们的观点,重新开始思考并进行原型设计。例如你一开始觉得自己正在设计一个产品(一款新的混合咖啡和新款咖啡机),当你意识到自己实际上是在“重新设计”一种咖啡体验(如星巴克)时,你就是在“重新定义”。又如,你试图帮助贫苦大众,不再借钱给富裕阶层(贷款给富人),于是你给那些因过于贫困而无法偿还钱款的人借钱(如小额贷款机构和孟加拉乡村银行)。还有苹果公司团队推出的平板电脑系列,事实上也是对手提电脑的一种全方位的“重新定义”。

概念实践

设计师会想象出一些原本不存在的东西,然后去建造,进而改变世界。你也可以这样做——你可以想象一种根本不存在的工作或者生活,然后据此塑造一个未来的你,进而改变你的生活。如果你很满意现在的生活,你热爱目前的状态,那么人生设计也可以让你的生活变得更加美好。

在开始设计人生之前,你需要学会像设计师一样思考。我们会给大家介绍一些简单的方法,但首先你需要明确一点:设计师并不是在“思考”他们未来的人生路,他们是在“创造”前进的人生路。这是什么意思呢?这意味着你不仅要凭空想象出许多和现实世界(或者真实的你)没有任何关系的有趣的事物,你还需要创造新事物(我们称之为“原型”),并进行测试练习。

本书将介绍设计思维的5种基本心态,并教会大家如何应用它们进行人生设计。

这5种基本心态分别是:好奇心,努力实践,重新定义,专注和深度合作。

备注:

生活常常是复杂而混乱的,当你前进一步时,有时看起来你正在向后倒退。生活中的你可能会犯错,也可能会抛弃自己的原型。在这个过程中,你必须学会“放手”——不要纠结于自己最初的想法,放弃那个“不错但并不精彩的”解决方案。

问题: 似乎一旦某件事让他们激情澎湃,其他的一切就会奇迹般地明朗起来。我们并不赞同这种观点,一个非常明显的原因就是:大多数人并不知道自己的激情所在。

例子: 威廉·戴蒙是斯坦福大学青少年研究中心的主任。他发现,在12岁到26岁的青少年中,只有1/5的人对于他们将来想要做什么、想要取得怎样的成就有一个清晰的愿景。同样,我们的教学经验也表明,有80%的人并不是真的很了解自己的激情所在。

解答: 你真正需要的是花时间培养一种激情。研究表明,对于大多数人来讲,当他们尝试了某件事后,他们便会对这件事产生兴趣,进而去掌握它、精通它。由此可见,激情是一种美好人生设计的结果,而不是原因。

方法: 实际上,大多数人都对各种各样的事情充满了激情,唯一可以了解他们想要什么的方法就是提供一些 潜在的人生原型 ,并进行测试,看看是否会和他们产生共鸣。

0601 第1章分析测评你目前的生活

武汉理工大学Java程序语言设计课内实验二

一、前言

           本文内容:武汉理工大学Java语言程序设计第二次课内实验的内容,分为有按钮和无按钮。

           开发工具:IntelliJ IDEA2021.2.3

二、实验描述

1.实验描述

            根据教材关于Java GUI的介绍,编写一个具有如下布局的应用程序,要求挡在上面的文本区输入若干数据后(输入的多个数据之间以逗号分隔),并点击按钮,就可以在下面的文本框中分别显示除输入数据的和与平均数。

2.基本要求

             在完成上述要求的情况下,考虑改进该应用程序,从界面上去掉按钮,并且随着输入数据的变化,其和与平均数能够立可显示在下面的相应文本框中。

              要求考虑异常处理,使得程序能够正常运行。

三、具体实现

1.有按钮

​
  
        
        frame = new JFrame("和与平均数");
        frame.getContentPane().setFont(font);
        frame.setBounds(400,200,400,400);
        mainPanel = new JPanel();
        initComponent();
        initEvent();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
    
        //文本框设置
        textArea = new JTextArea();
        textArea.setPreferredSize(new Dimension(300, 100));
        textArea.setToolTipText("将输入数据用逗号分开!");
        textArea.setFont(font);
    
        JPanel textAreaPanel = new JPanel();
        textAreaPanel.setPreferredSize(new Dimension(350, 150));
        textAreaPanel.add(textArea);
        mainPanel.add(textAreaPanel, BorderLayout.NORTH);
    
        //和值显示框
        sumField = new JTextField();
        sumField.setFont(font);
        sumField.setEditable(false);
        sumField.setPreferredSize(new Dimension(300, 30));
        JLabel sumLabel = new JLabel("和值");
        JPanel sumFieldPanel = new JPanel();
        sumFieldPanel.add(sumLabel);
        sumFieldPanel.add(sumField);
    
        //平均值显示框
        averageField = new JTextField();
        averageField.setFont(font);
        averageField.setEditable(false);
        averageField.setPreferredSize(new Dimension(300, 30));
        JLabel averageLabel = new JLabel("平均值");
        JPanel averageFieldPanel = new JPanel();
        averageFieldPanel.add(averageLabel);
        averageFieldPanel.add(averageField);
    
        //计算按钮
        calculateButton = new JButton("计算");
        calculateButton.setPreferredSize(new Dimension(60, 40));
        JPanel calculatePanel = new JPanel();
        calculatePanel.add(calculateButton);
    
        JPanel centerPanel = new JPanel();
        centerPanel.add(sumFieldPanel);
        centerPanel.add(averageFieldPanel);
        centerPanel.add(calculatePanel);
    
        frame.add(mainPanel, BorderLayout.NORTH);
        frame.add(centerPanel, BorderLayout.CENTER);

​
public void inEvent() 
calculateButton.addMouseListener(new MouseAdapter() 
            @Override
            public void mouseClicked(MouseEvent e) 
                if (e.getButton() == MouseEvent.BUTTON1) 
                    String numberText = textArea.getText();
                    if (numberText == null || numberText.trim().length() == 0) 
                        JOptionPane.showMessageDialog(null, "输入为空!");
                        sumField.setText(" ");
                        averageField.setText(" ");
                     else 
                        String[] numString = numberText.split(";");
                        double[] numDouble = stringToTypeDouble(numString);
                        double sumNumber = sumCalculate(numDouble);
                        double averNumber = averCalculate(numDouble);
                        sumField.setText(String.valueOf(sumNumber));
                        averageField.setText(String.valueOf(averNumber));
                    
                
            
        );
private double[] stringToTypeDouble(String[] string ) 
        if(string == null || string.length==0)
            return null;
        else
            double[]arrDouble = new double[string.length];
            try
                for(int i = 0; i<string.length;i++) 
                    String str = string[i].trim();
                    arrDouble[i] = Double.parseDouble(str);
                
            catch (NumberFormatException e)
                e.printStackTrace();
                arrDouble = null;
                JOptionPane.showMessageDialog(null,"输入的数据类型错误!");
            catch (InputMismatchException e)
                e.printStackTrace();
                arrDouble = null;
                JOptionPane.showMessageDialog(null,"输入的数据格式错误!");
            
            return arrDouble;
        
    
  /**
     * 计算和值
     */
    private double sumCalculate(double[] arrDouble)
        double sumNum = 0;
        if(arrDouble == null || arrDouble.length == 0)
            return sumNum;
        else
            for (double v : arrDouble) 
                sumNum = sumNum + v;
            
            return Double.parseDouble(new DecimalFormat("#.000").format(sumNum));
        
    
    
    /**
     * 计算平均值
     */
    private double averCalculate(double[]arrDouble) 
        double averNum = 0;
        if(arrDouble == null || arrDouble.length == 0)
            return averNum;
        else
            averNum = sumCalculate(arrDouble)/arrDouble.length;
            return Double.parseDouble(new DecimalFormat("#.000").format(averNum));
        
    

2.无按钮

        无按钮的界面设计只需将“计算”按钮删除即可。

 /**
     * 键盘输入处理
     */
    private void initEvent() 
        textArea.getDocument().addDocumentListener(new DocumentListener() 
            @Override
            public void insertUpdate(DocumentEvent e) 
                updateTextArea();
            
    
            @Override
            public void removeUpdate(DocumentEvent e) 
                updateTextArea();
            
    
            @Override
            public void changedUpdate(DocumentEvent e) 
                updateTextArea();
            
        );
    
 private void updateTextArea() 
        String numberText = textArea.getText();
        if( numberText.trim().length() == 0)
            JOptionPane.showMessageDialog(null,"输入为空!!!");
            sumField.setText(" ");
            averageField.setText(" ");
        else
            String[] numString = numberText.split(";");
            double[] numDouble = stringToTypeDouble(numString);
            double sumNumber = sumCalculate(numDouble);
            double averNumber = averCalculate(numDouble);
            sumField.setText(String.valueOf(sumNumber));
            averageField.setText(String.valueOf(averNumber));
        
    
    
private double[] stringToTypeDouble(String[] string) 
        if(string == null || string.length==0)
            return null;
        else 
            double[] arrDouble = new double[string.length];
            try 
                for (int i = 0; i < string.length; i++) 
                    String str = string[i].trim();
                    arrDouble[i] = Double.parseDouble(str);
                
             catch (NumberFormatException e) 
                e.printStackTrace();
                arrDouble = null;
                JOptionPane.showMessageDialog(null, "输入的数据类型错误!");
             catch (InputMismatchException e) 
                e.printStackTrace();
                arrDouble = null;
                JOptionPane.showMessageDialog(null, "输入的数据格式错误!");
            
            return arrDouble;
        
    
    
 private double sumCalculate(double[] arrDouble) 
        double sumNum = 0;
        if(arrDouble == null || arrDouble.length == 0)
            return sumNum;
        else
            for (double v : arrDouble) 
                sumNum = sumNum + v;
            
            return Double.parseDouble(new DecimalFormat("#.000").format(sumNum));
        
    
    
    private double averCalculate(double[] arrDouble) 
        double averNum = 0;
        if(arrDouble == null || arrDouble.length == 0)
            return averNum;
        else
            averNum = sumCalculate(arrDouble)/arrDouble.length;
            return Double.parseDouble(new DecimalFormat("#.000").format(averNum));
        
    

以上是关于《斯坦福大学人生设计课》的主要内容,如果未能解决你的问题,请参考以下文章

大学课设之Mysql图书管理设计

武汉理工大学Java程序语言设计课内实验二

斯坦福大学公开课机器学习:advice for applying machine learning - deciding what to try next(设计机器学习系统时,怎样确定最适合最正确的

《百度刘超》:河工大学生集体自发参加百度刘超互联网公益课

吉林大学软件学院c++优秀课设资源讲解

吉林大学软件学院c++优秀课设资源讲解