About this Course
4.8
56 ratings
18 reviews

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 53 hours to complete

Suggested: 3-5 hours/week...

Chinese (Simplified)

Subtitles: Chinese (Simplified), English

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Approx. 53 hours to complete

Suggested: 3-5 hours/week...

Chinese (Simplified)

Subtitles: Chinese (Simplified), English

Syllabus - What you will learn from this course

Week
1
5 hours to complete

WEEK1

首先,通过介绍C语言程序的具体实例,来说明高级语言程序的执行结果与编程语言之外的计算机系统其他方面有关,从而使学生明白为何要学习“计算机系统基础”课程;然后,介绍计算机系统基本组成与基本功能、程序开发和执行过程、计算机系统层次结构等概述性内容;最后,简要说明本课程的主要学习内容。...
8 videos (Total 133 min), 2 quizzes
8 videos
W1-2-1 冯•诺依曼结构主要思想 15m
W1-2-2 现代计算机结构模型及工作原理 19m
W1-3-1 从机器语言到高级编程语言 16m
W1-3-2 程序的开发和执行及其支撑环境 15m
W1-4-1 编程语言和计算机系统层次 7m
W1-4-2 现代计算机系统的层次结构 19m
W1-5 本课程的主要学习内容16m
1 practice exercise
第1周 计算机系统概述30m
Week
2
6 hours to complete

WEEK2

首先,介绍进位计数制和编码的基本概念;然后,介绍定点数的编码表示,在此基础上介绍带符号整数和无符号整数的表示;接着,介绍浮点数的编码表示,主要包括IEEE 754单精度和双精度浮点格式标准;随后介绍逻辑值、西文字符和汉字等非数值数据的编码表示;最后,介绍数据的宽度和存储。...
13 videos (Total 212 min), 2 quizzes
13 videos
W2-1-2 2,8,10,16进制数之间的转换 19m
W2-2-1 原码和移码表示 9m
W2-2-2 模运算系统和补码表示 16m
W2-2-3 补码和真值的对应关系 18m
W2-3-1 无符号整数和带符号整数 14m
W2-3-2 C语言程序中整数举例 15m
W2-4-1 浮点数的表示范围 16m
W2-4-2 IEEE 754中规格化数的表示 18m
W2-4-3 IEEE 754中特殊数的表示 14m
W2-5 非数值数据的编码表示 18m
W2-6 数据宽度和存储容量的单位 11m
W2-7 数据存储时的字节排列 19m
1 practice exercise
第2周 数据的表示和存储48m
Week
3
5 hours to complete

WEEK3

首先,介绍布尔代数和数字逻辑电路的基础性内容;然后,介绍C语言中的按位运算以及逻辑运算;接着,介绍高级语言中的整数加减运算及其对应的底层实现电路。...
7 videos (Total 109 min), 2 quizzes
7 videos
W3-1-2 无符号数加法器 13m
W3-1-3 整数加, 减运算器和ALU 12m
W3-2 从C表达式到逻辑电路 9m
W3-3 C语言中的各类运算 24m
W3-4-1 加减运算生成的标志信息 15m
W3-4-2 加减运算溢出公式及举例 16m
1 practice exercise
第3周 运算电路基础42m
Week
4
4 hours to complete

WEEK4

基于运算电路基础,介绍高级语言中的整数乘除运算与底层实现之间的关系;然后介绍浮点数的运算,特别是浮点运算中的精度问题。...
5 videos (Total 109 min), 2 quizzes
5 videos
W4-2 整数除法运算 21m
W4-3-1 浮点加减运算 22m
W4-3-2 浮点运算的精度 22m
W4-3-3 浮点运算精度举例 16m
1 practice exercise
第4周 乘除运算及浮点数运算22m
Week
5
3 hours to complete

WEEK5

首先,介绍高级语言程序与机器级代码之间的关系,以及机器级代码与指令集体系结构(ISA)的关系;然后,介绍IA-32指令系统的概述性内容,包括寄存器组织、寻址方式和指令格式等。...
7 videos (Total 70 min), 2 quizzes
7 videos
W5-1-2 目标代码和ISA 14m
W5-2-1 Intel处理器概述 6m
W5-2-2 IA-32的寄存器组织 6m
W5-2-3 IA-32的寻址方式 8m
W5-2-4 高级语言程序中寻址举例 9m
W5-2-5 IA-32机器指令格式 9m
1 practice exercise
第5周 IA-32指令系统概述20m
Week
6
5 hours to complete

WEEK6

主要介绍IA-32指令系统中常用的几类指令,包括传送、定点算术运算、按位运算、控制转移、x87浮点运算指令,最后简要介绍了MMX及SSE指令集。...
12 videos (Total 149 min), 2 quizzes
12 videos
W6-1-2 传送指令执行过程 5m
W6-2-1 常用定点运算指令 8m
W6-2-2 加法运算的底层实现举例 15m
W6-2-3 加法指令和乘法指令举例 18m
W6-3-1 逻辑运算和移位指令 11m
W6-3-2 按位运算指令举例 10m
W6-4-1 条件转移指令举例 21m
W6-4-2 条件设置指令举例 4m
W6-5-1 x87 FPU常用指令 10m
W6-5-2 x87浮点处理指令举例 15m
W6-6 MMX及SSE指令集 13m
1 practice exercise
第6周 IA-32指令类型40m
Week
7
4 hours to complete

WEEK7

主要介绍C语言程序中各类语句被转换为机器级代码后的机器级表示,包括过程(函数)调用的机器级表示、选择和循环语句的机器级表示。...
8 videos (Total 106 min), 2 quizzes
8 videos
W7-1-2 过程(函数)的机器级代码结构 13m
W7-1-3 过程调用的参数传递 12m
W7-1-4 过程调用举例 10m
W7-1-5 递归过程调用举例 10m
W7-1-6 过程调用举例13m
W7-2 选择结构的机器级表示 18m
W7-3 循环结构的机器级表示 13m
1 practice exercise
第7周 C语言语句的机器级表示28m
Week
8
5 hours to complete

WEEK8

主要介绍C语言程序中数组和指针类型的分配和访问、结构和联合数据类型的分配和访问、数据的对齐存放。最后介绍越界访问和缓冲区溢出攻击。...
8 videos (Total 140 min), 2 quizzes
8 videos
W8-1-2 数组与指针的关系 9m
W8-1-3 指针数组和多维数组 18m
W8-2-1 结构类型的分配和访问 20m
W8-2-2 联合类型的分配和访问 17m
W8-3-1 数据的对齐方式 13m
W8-3-2 数据对齐方式举例13m
W8-4 越界访问和缓冲区溢出攻击27m
1 practice exercise
第8周 复杂数据类型的机器级表示48m
Week
9
5 hours to complete

WEEK9

首先,介绍了x86-64指令系统的概述性内容;然后,介绍了与IA-32指令不同的几种x86-64基本指令;最后,介绍了x86-64中过程(函数)调用的具体的实现。...
8 videos (Total 136 min), 2 quizzes
8 videos
W9-1-2 x86-64指令系统概述28m
W9-2-1传送指令15m
W9-2-2 算术逻辑运算指令19m
W9-2-3 x86-64逆向工程举例 16m
W9-3-1 x86-64过程调用的参数传递方式15m
W9-3-2 x86-64过程调用举例23m
W9-3-3 IA-32和x86-64的比较举例15m
1 practice exercise
第9周 x86-64指令系统20m
Week
10
5 hours to complete

WEEK10

首先,介绍了在生成可执行文件的过程中所涉及到的概述性内容;然后,介绍了目标文件格式的基本内容;最后,分别介绍ELF文件格式中的可重定位文件格式(链接视图)和可执行文件格式(执行视图)。...
8 videos (Total 138 min), 2 quizzes
8 videos
W10-1-2 链接器的由来16m
W10-2-1 链接过程的本质14m
W10-2-2 目标文件的两种视图15m
W10-3-1 可重定位文件概述 10m
W10-3-2 ELF头和节头表25m
W10-4-1 可执行文件概述13m
W10-4-2 程序头表和存储器映像20m
1 practice exercise
第10周 链接概述和目标文件格式20m
Week
11
4 hours to complete

WEEK11

主要内容包括符号的概念、符号表的结构、静态库和静态链接、符号解析。...
6 videos (Total 95 min), 2 quizzes
6 videos
W11-1-2 全局符号的强弱特性7m
W11-1-3 多重符号定义举例21m
W11-2-1 静态共享库的创建14m
W11-2-2 符号解析过程13m
W11-2-3 链接顺序问题10m
1 practice exercise
第11周 符号及符号解析26m
Week
12
5 hours to complete

WEEK12

主要内容包括符号的重定位、可执行文件的加载、共享库和动态链接以及位置无关代码(PIC)。...
8 videos (Total 130 min), 3 quizzes
8 videos
W12-1-2 PC相对地址重定位20m
W12-1-3 绝对地址重定位10m
W12-1-4 符号重定位举例12m
W12-2 可执行文件的加载14m
W12-3-1 共享库和动态链接概述20m
W12-3-2 模块内引用和模块间数据引用19m
W12-3-3 模块间的调用或跳转18m
2 practice exercises
第12周 重定位及动态链接24m
期末考试试题50m
4.8
18 ReviewsChevron Right

Top Reviews

By XXJun 25th 2017

非常好,不是计算机专业的,听起来还是很容易的,讲的很清晰。\n\n第三周第一节课,有一个段话口误,把“或”说成了“与”,就是下面这段。\n\n"所以这个输出完全是等于Ai,那么这个Ai 和刚才我们讲过的这个0,因为这样输入是0,所以这样输出是0。 和0相与输出来的结果当然就是0与上任何一个值 结果还是等于任何一个值,因为0在与门当中0就不起作用,完全取决于另外一个 是0输出就是0,"

Instructor

Avatar

袁春风

教授
计算机科学与技术系

About Nanjing University

Nanjing University (NJU) is committed to excellence in teaching and research. Located on the prosperous eastern coast of China, NJU provides a dynamic environment that nurtures learning, creativity, and discovery on one of the most beautiful campuses in the country. Taking NJU's university offerings on Coursera will be a rewarding experience for learners from every corner of the world....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

More questions? Visit the Learner Help Center.