计算机系本科生编程进阶指南

2024-01-03 03:18

本文主要是介绍计算机系本科生编程进阶指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我是一名普通本科计算机系在读生,热爱编程,沉迷于coding的“创造力”。
编程的世界很美妙,然而信息繁杂,方向甚多,想要全部掌握肯定很难,所以,我个人认为有一篇指南性的文章帮助大家筛选出好的书籍、资料,给出有价值的指导性意见是非常有必要的。
由于本人也是本科生在读,所以难免视野狭窄,于是借(zhuan)鉴(zai)编程入门指南-萧井陌,Badger,结合自己的实际情况,整理如下。


第一阶段:启蒙


目标 : 建立起对计算机体系的整体概念,简单掌握编程语言。

  1. 精巧的C语言:原文推荐的入门语言是python,相较C语言,python对初学者更优好,然而我还是推荐C语言作为第一门语言。我的第一门编程语言是Pascal,面向过程的Pascal给我感觉更像加了特殊符号的数学公式一样,简单易学,不过现在来讲用得比较少。C语言虽然有很多未定义行为(这对初学者来说可能并不是什么好消息),但是计算机系的学生都会有老师讲解,这对初学者来说也算是一件好事,而且C语言也可以帮助初学者很好的理解类型、变量、函数、结构体、指针(地址)等等概念。C语言现阶段只需要浅尝辄止,深入研究可能只会让你头大。

    推荐书籍: << The C Programimng Language>>

  2. 炫酷自由的python:python是一门充满了“黑魔法”的脚本语言,它可以做很多事情,比起C语言,她给你的反馈更及时,不用多久你就可以做点小玩意出来。及时的反馈对初学者来讲是极大的奖励,如果你不喜欢C,可以将python作为第一门语言(相信我,你以后还是不得不学习C的)。

    推荐书籍: << Learn Python the hard way >> (不要被这个名字吓怕了,虽然是“笨办法”学,但是它效果很棒。如果对python很感兴趣,可以学习一下

这篇关于计算机系本科生编程进阶指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/564417

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

[MySQL表的增删改查-进阶]

🌈个人主页:努力学编程’ ⛅个人推荐: c语言从初阶到进阶 JavaEE详解 数据结构 ⚡学好数据结构,刷题刻不容缓:点击一起刷题 🌙心灵鸡汤:总有人要赢,为什么不能是我呢 💻💻💻数据库约束 🔭🔭🔭约束类型 not null: 指示某列不能存储 NULL 值unique: 保证某列的每行必须有唯一的值default: 规定没有给列赋值时的默认值.primary key:

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG