高级语言程序设计 Advanced Programming
课程介绍 Overview
-
课程描述:
“高级语言程序设计”是针对电子信息学科一年级本科生开设的一门学科基础课程。
本课程以“C语言”为主要学习对象,以Linux操作系统及GNU编译器gcc/g++、调试器gdb等为工具,
学习计算机程序设计的相关知识,并培养程序设计和编写的基本技能。
-
Course Description:
"Advanced language program" is a basic course for undergraduate students
of electronic information science in the first semester of the first grade.
This course mainly focus on the concepts and application of "C language".
Linux operation system and GNU compiler gcc/g++ debugger GDB will be used as
tools for programming skills training and codes writing.
-
设计思路:
本课程设计以理论结合实践为基本原则,基于网络教学综合平台采用课堂授课和网络学习
的混合式课程教学模式,通过课外任务加强编程实践,为学生后续电子及计算机类相关学科
基础和专业课程乃至未来相关专业工作等打下良好的程序设计与编写基础。考虑到新生对计
算机及程序设计等相关概念带有一定的“神秘感”伴有“畏惧感”,本着培养兴趣、从易到
难的原则进行课程内容选择及编排,设计了五个教学周期:计算导论、感性认识计算机程序、
理性认识计算机程序、结构化的程序设计和更复杂的数据结构,其中第一部分“计算导论”
主要介绍计算机、操作系统和程序语言的“来龙去脉”,而后面四个迭代周期循序渐进、逐步
为阶的将学生带入程序设计与编写的实战中,重在培养并提高学生编写完整、可运行、能解
决问题的计算机程序。
-
Concepts:
This course is designed to combine theory with practice as the basic principle.
This course is given by way of a range of traditional lectures and online classes.
Students can strength their coding ability by doing extracurricular coding tasks.
This course will lay the roots for students’ disciplinary foundation and even their
future career. Considering that the freshmen may study with a mysterious feeling and
even fear when learning computer related concepts and program designing, we organize
the lecture contents from easy to difficult and divide the course into 5 parts:
Foundation of computation, Computer programing: a perceptual glance, Computer programing:
a rational recognition, Computer programing: a rational recognition, Structured programing,
Advanced data structure. The first part, “Foundation of computation”, mainly introduces
the computer, operating system and programming language. The remaining 4 parts, which focusing
on training and improving the students' programming skills, are provided step by step.
Students should be able to write a runnable program for solving real-world problems after taking this course.
-
课程与其他课程的关系:
本课程先修无需任何学科和专业背景,为后续“面向对象程序设计”、“数据结构”和“程序设计实践”课程的基础。
-
The relationship between this course and other courses:
Students do not need any discipline and professional background to take this course.
This course is the foundation for subsequent object oriented programming, data structure and programming practice.
成绩构成 Grading Policy
总成绩 Total Score
2-3人/组(每次报告提交时需注明组内分工)
-
团队合作 Group Cooperation(20%)
-
报告成绩 Report(20%)
- 每组的每名组员完成课外编程OUCOJ(每周一01:00至周日23:00开放);
- 各小组任选3题撰写详细报告,通过网络教学平台提交(http://szjx.ouc.edu.cn/);(截止时间:每周日晚23:59)
- 要求报告包括:1、问题分析(2%);2、解决方案(2%);3、算法设计(流程图)(2%);4、编程实现(10%);5、结果分析(2%);6、总结体会(2%)。
-
注意 :作业以截止日期的晚上12点为准。每人只有1次超期机会且最多延期2天(需要提出申请)。超过时限24小时以内分数减半,24小时以上不计分。
-
个人表现 Personal Performance(80%)
-
在线成绩 Online Assignments(40%)
- 课外成绩(20%)(每周一01:00至周日23:00开放)
- 上机成绩(20%)(每周六08:00至18:00开放)
-
期末成绩 Final Exam(40%)
最终闭卷考试表现
优异表现
(加总成绩1-2分/次且累计加分),包括但不限于:
- 担当科代表并协助老师教学(+5分)
- 积极回答问题并正确作答(+2分)
- 小组作业优秀(小组全员+1分)
不良表现
(扣总成绩5分/次且累计扣分),包括但不限于:
缺勤处理 Absence Policy
缺勤扣分
- 无故 缺勤一次(-10分)
- 无故 缺勤两次(-20分)
- 无故 缺勤三次(-100分)
教学大纲和课堂讲义 Syllabus and Lecture Notes
说明:本课程设计及课件等主要参考北京大学《程序设计与算法》Coursera专项课程中李戈老师《计算导论与C语言基础》和C程序设计进阶。
1.计算导论
课次 |
周次 |
时间 |
内容 |
课堂资料 |
补充材料 |
1 |
一 |
2019年09月18日周三 |
课程简介。计算机导论。计算机的过去、现在和将来 |
第一周教案1 |
|
2 |
一 |
2019年09月25日周三 |
计算机导论2.什么是程序 |
第一周教案2 |
|
L1 |
一 |
2019年09月20日周五 |
实验课一:熟悉编程环境。第一个程序hello world |
机房Linux说明 |
序, Linux应知应会, Vim练级攻略 |
L2 |
二 |
2019年09月27日周五 |
实验课二:第一个程序hello world |
|
|
L3 |
二 |
2019年09月29日周日 |
实验课三:感性接触C程序及其编译和运行1 |
机房Linux说明 |
|
课外任务:计算机、操作系统(UNIX、Linux)和编程语言(C/C++,编译型和解释型等分类)的过去、现在和未来。
2. 感性认识计算机程序
课次 |
周次 |
时间 |
内容 |
课堂资料 |
补充材料 |
3 |
四 |
2019年10月9日周三 |
感性认识计算机程序;快步走进C程序。 |
第四周教案1 |
|
4 |
四 |
2019年10月12日周六 |
从现实问题到计算机程序。 |
第四周教案2 |
|
L4 |
四 |
2019年10月11日周五 |
实验课四:感性接触C程序及其编译和运行2 |
|
|
3. 理性认识计算机程序
课次 |
周次 |
时间 |
内容 |
课堂资料 |
补充材料 |
5 |
五 |
2019年10月16日周三 |
C语言的由来、标准和构成;数据成分。 |
第五周教案 |
|
6 |
六 |
2019年10月23日周三 |
运算成分;控制成分;传输成分。 |
第六周教案 |
|
7 |
七 |
2019年10月30日周三 |
数组。 |
第七周教案 |
|
8 |
八 |
2019年11月6日周三 |
字符串。 |
第八周教案 |
|
L5 |
五 |
2019年10月18日周五 |
实验课六: C语言的数据、运算和控制成分2 |
|
|
L6 |
六 |
2019年10月18日周五 |
实验课六: C语言的数据、运算和控制成分2 |
|
|
L7 |
七 |
2019年11月1日周五 |
实验课七: C语言的数组 |
|
|
L8 |
八 |
2019年11月8日周五 |
实验课八: C语言的字符串 |
|
|
4. 结构化的程序设计
课次 |
周次 |
时间 |
内容 |
课堂资料 |
补充材料 |
9 |
九 |
2019年11月13日周三 |
函数。 |
第九周教案 |
|
10 |
十 |
|
递归。 |
第十周教案 |
|
9 |
九 |
2018年03月31日周六 |
实验课九:C语言的函数 |
|
|
10 |
十 |
第十周 2019年11月22日周五 |
实验课十:C语言的递归 |
|
|
5. 更复杂的数据结构
课次 |
周次 |
时间 |
内容 |
课堂资料 |
补充材料 |
11 |
十一 |
2019年11月27日周三 |
指针1。 |
第十一周教案 |
|
12 |
十二 |
2019年12月4日周三 |
指针2。 |
第十二周教案 |
|
13 |
十三 |
2019年12月11日周三 |
指针3。 |
第十三周教案 |
|
14 |
十四 |
2019年12月18日周三 |
结构体与链表。 |
第十四周教案 |
|
15 |
十五 |
2019年12月25日周三 |
面向对象程序设计初探 |
第十五周教案 |
|
L11 |
十一 |
2019年11月29日周五 |
实验课十一:C语言的指针1 |
|
|
L12 |
十二 |
2019年12月6日周五 |
实验课十二:C语言的指针2 |
|
|
L13 |
十三 |
2019年12月13日周五 |
实验课十三:C语言的指针3 |
|
|
L14 |
十四 |
2019年12月20日周五 |
实验课十四:C语言的指针4 |
|
|
L15 |
十五 |
2019年12月27日周五 |
实验课十五:C语言的结构体与链表1 |
|
|
L16 |
十六 |
2019年12月27日周五 |
实验课十六:C语言的结构体与链表2 |
|
|
6. 总复习
课次 |
周次 |
时间 |
内容 |
课堂资料 |
补充材料 |
16 |
十六 |
2020年1月8日周三 |
课程总结。 |
|
|
TOP 返回顶部