Compiler 课程可以帮助您学习语法分析、语义分析、代码生成和优化技术。您可以掌握解析算法、错误处理和实现编程语言的技能。许多课程都会介绍用于词法分析和解析的 Lex 和 Yacc 以及用于代码优化的 LLVM 等工具,演示如何将这些技能应用于创建高效的编译器和解释器。

Johns Hopkins University
您将获得的技能: C++(编程语言), 深度学习, 数字信号处理, 计算机图形学, 面向数据的编程, 卷积神经网络, 系统编程, 性能调整, 计算机结构, 线性代数, 编程原则, C 和 C++, 事件驱动编程, 可扩展性, 数值分析, 分布式计算, 计划发展, 机器学习, 人工神经网络, 图像分析
攻读学位
中级 · 专项课程 · 3-6 个月

您将获得的技能: Embedded Software, Performance Tuning, System Programming, Software Development Tools, Embedded Systems, Software Development, Hardware Architecture, Debugging, Application Security, Microarchitecture, Computer Architecture, C (Programming Language), Digital Signal Processing, System Configuration, Application Development, Security Engineering, C++ (Programming Language), System Requirements, Authentications, Data Sharing
中级 · 专项课程 · 3-6 个月

您将获得的技能: LangChain, LLM Application, Prompt Engineering, API Design, MLOps (Machine Learning Operations), Large Language Modeling, Performance Tuning, Microservices, Application Deployment, Kubernetes, Scalability, Site Reliability Engineering, DevOps, CI/CD, Docker (Software), Python Programming, Containerization, System Monitoring, Cloud Platforms, Security Controls
中级 · 专项课程 · 3-6 个月

University of California, Irvine
您将获得的技能: 操作系统, 软件设计, 调试, 数据结构, 面向对象编程(OOP), 计算机结构, 数据访问, 系统编程, 计算机编程工具, Algorithm, 围棋(编程语言), 后端网站开发, 功能设计
中级 · 专项课程 · 3-6 个月

Microsoft
您将获得的技能: Debugging, Program Development, Software Documentation, Pseudocode, C++ (Programming Language), Computational Thinking, Maintainability, Programming Principles, Computer Programming, Integrated Development Environments, Development Environment, Algorithms, Data Validation
初级 · 课程 · 1-3 个月

Birla Institute of Technology & Science, Pilani
您将获得的技能: Theoretical Computer Science, Computer Programming, Pseudocode, Algorithms, Computer Science, Formal Learning, Software Engineering, Program Development, Data Science, Analysis, Debugging, Technical Analysis
中级 · 课程 · 1-3 个月

Princeton University
您将获得的技能: 计算机硬件, 理论计算机科学, 数据结构, 计算逻辑, 编程原则, 可扩展性, 计算机科学, Java 编程, Algorithm, 计算机结构
中级 · 课程 · 1-3 个月

您将获得的技能: Malware Protection, Exploitation techniques, Exploit development, Cyber Threat Hunting, Cyber Security Assessment, Application Security, Threat Detection, Virtual Machines, Code Review, Debugging, System Programming, Scripting, Windows PowerShell, Virtual Environment, Linux, File Management
中级 · 课程 · 1-3 个月

University of Colorado Boulder
您将获得的技能: Linux 命令, 操作系统, 电气工程, 嵌入式系统, Linux, 系统编程, 外壳脚本, C 和 C++, 文件输入/输出, 调试, 跨平台开发, 构建工具, Linux 服务器, 操作系统流程管理, Bash(脚本语言)
高级设置 · 课程 · 1-4 周

Hebrew University of Jerusalem
您将获得的技能: 操作系统, Virtual Machine, 软件设计, 计算机制图技术, 计算机工程, 计算机结构, 数据结构, 面向对象编程(OOP), 系统编程, 计算机科学, 计算机编程, 软件架构, 计划发展, Algorithm
混合 · 课程 · 1-3 个月

您将获得的技能: Microarchitecture, Computer Architecture, Hardware Architecture, Computer Hardware, Computer Systems, Computer Science, Embedded Systems, OS Process Management, Computer Programming, C (Programming Language), Program Development, C# (Programming Language)
初级 · 课程 · 1-3 个月

您将获得的技能: Data Structures, Programming Principles, Object Oriented Programming (OOP), Debugging, Software Development
初级 · 课程 · 1-4 周
编译器是一种程序,可将以 C++ 等编程语言编写的高级、人类可读的源代码转换为计算机可执行的机器可读目标代码。 在编译过程中,会检查源代码是否存在语法错误、变量和函数调用不当、链接器错误以及其他常见的调试问题,然后在编译或再次 "构建 "之前找出并解决这些问题。 了解编译器如何工作以及何时编译程序是软件开发的一项重要基本技能。
与 Python 或 JavaScript 等逐行读取、翻译和执行代码的解释型语言相比,C 语言编程和使用其他编译型语言需要不同的过程。 在软件开发过程中,解释型语言具有更高的速度和灵活性,因为程序员不必每次都在测试前编译整个源代码。 不过,由于编译语言提供的本地机器码在运行时无需翻译,因此这些程序的执行速度通常更快。
使用 C++ 等编译编程语言的背景对于从事软件开发工作至关重要。 不依赖编译器的解释型语言(如 Python 和 Ruby)正变得越来越流行,特别是随着 "即时 "编译技术的出现,可以提高它们的执行速度。 然而,久经考验的编译语言由于运行速度更快、调试过程更可靠,仍然是许多应用程序的必备语言。
如今,软件开发人员的需求量之大不足为奇,从事这一领域的工作意味着有大量令人兴奋的高薪工作机会。 根据美国劳工统计局(Bureau of Labor Statistics)的数据,软件开发人员 2019 年的年薪中位数为 107,510 美元,预计这些职位在 2019 年至 2029 年期间将增长 22%,远高于全国所有职业的平均水平。
是的!Coursera 提供令人难以置信的各种计算机科学学习机会,包括 C 语言编程和其他依赖编译器的语言课程以及专业课程。 您可以向杜克大学、伊利诺伊大学香槟分校和加州大学圣克鲁兹分校等一流名校学习,而支付的学费却大大低于校内学生。 而且,由于您可以在灵活的时间安排下查看和完成课程资料,因此通过 Coursera 学习编译器非常适合学生以及希望掌握计算机编程新技能的中级专业人士。
从事编译工作或与编译人员打交道的人,如果注重细节并具有良好的解决问题的能力,则最容易取得成功。 他们还具备良好的计算机技能,包括熟练生成代码、使用 C++ 和 Java 等编程语言以及使用 Linux 和 Windows 等操作系统。 最适合担任使用编译器的职位的人既能在团队环境中工作,也能独立工作,具有很强的分析能力,并有很强的学习和创新能力。
只需高中文凭或普通教育文凭,就可以开始使用编译器的职业道路,例如从软件构建工程师做起。 然而,使用编译器的人通常拥有计算机科学、信息技术、工程学等专业的学士学位,并担任副软件开发人员、软件开发工程师或编译器工程师等职务。 那些希望晋升到需要承担更多责任的职位(如高级软件工程师)的人很可能需要硕士学位。
雇用具有编译器背景的人员的地方多种多样,包括诺斯罗普-格鲁曼公司这样的航空航天和国防公司、英特尔和苹果这样的技术公司、IBM 这样的计算机硬件公司以及 Peraton 这样的国家安全机构。 在招聘软件程序员和工程师的地方,你可以找到有编译器背景的人。 你还会发现这些专业人士在亚马逊和 GitHub 等公司的开发部门工作。
与编译器相关的主题包括 Python、Objective-C、Swift、JavaScript 以及用于创建编译器的许多其他语言。 您还可以学习版本控制系统(如 subversion 或 git)、文本编辑器(如 vim 和 emacs)或网络系统开发和网络应用程序开发方面的内容。 您可以学习的其他相关主题包括亚马逊网络服务(AWS)、Scrum、Azure 以及敏捷方法和工具。
在线编译器课程为您提供了一种方便灵活的方式来提高您的知识或学习新的编译器技能。 由顶尖大学和行业领导者提供的各种编译器课程可满足不同技能水平的需求。
Coursera 的全部课程目录都提供给企业客户,没有任何限制。 选择最佳的编译课程取决于员工的需求和技能水平。 利用我们的 "技能仪表板 "了解技能差距,并确定最适合的课程,以便有效地提高员工的技能。 了解关于 Coursera for Business 的更多信息