四川大学程序设计基础Programming Fundamentals教学大纲

合集下载

《程序设计基础(C)》课程教学大纲

《程序设计基础(C)》课程教学大纲

《程序设计基础(C)》课程教学大纲英文名称:Fundamentals of Programing in C Language一、课程说明1. 课程的性质:本课程是全校部分工科专业公共基础课程。

2.课程的目的和任务本课程以C语言为学生入学的第一门程序设计语言,使学生初步了解程序设计的基本概念和方法,并通过课程教学和上机实践要求学生逐步掌握高级语言程序设计的方法和技巧,能运用所学的知识开发DOS界面下的应用软件,为后续课程的学习打下基础。

3.适应专业:全校部分工科专业4.学时与学分:总学时72(理论课44/实验课28),3学分。

5.先修课程:计算机文化基础。

6.推荐教材或参考书目:C程序设计教程,谭浩强,清华大学出版社,2007年7月。

7.主要教学方法与手段本课程采用课堂教学与实验教学相结合的方法,所有的课堂教学要求在多媒体教室进行。

8.考核方式:考试和平时考核相结合,考试成绩不低于70%,平时考核不高于30%。

采用100分制。

9.课外自学要求随着电脑的普及,大学生计算机应用能力差异很大,而由于本课程是实践性很强的课程,所以要求学生除教学计划安排的28学时实习外,应该自己根据情况安排课外实习时间。

二、教学基本要求和能力培养要求1.通过本课程的学习,学生应达到以下要求:(1)了解C语言的特点、C程序的组成,掌握C程序上机步骤;(2)了解算法的概念和算法的表示方法,掌握算法的流程图表示,了解结构化程序设计的方法。

(3)正确理解C语言的数据类型,掌握各种运算符的用法,熟练掌握C语言表达式的书写。

(4)了解C语句的概念,掌握数据输入输出的实现方法及顺序结构程序设计。

(5)熟练掌握关系运算符和关系表达式、逻辑运算符和逻辑表达式使用,熟练掌握选择结构编程。

(6)熟练掌握循环结构程序设计编程方法。

(7)熟练掌握数组的概念及与数组有关的算法。

(8)掌握函数的书写和调用方法,正确理解变量作用域,了解变量存储类别。

(9)掌握C语言宏定义方法及应用,掌握文件包含处理应用。

本科专业认证《计算机与程序设计基础》(C语言)教学大纲

本科专业认证《计算机与程序设计基础》(C语言)教学大纲

《计算机与程序设计基础》课程教学大纲英文名称:Fundamentals of Computer and Programming课程编号:0812010005学分:2.5总学时:40。

其中,讲授学时24,上机学时16。

适用专业:全校非计算机专业理工科本科生先修课程:无开课学院、系:计通学院计算机应用系一、课程目标《计算机与程序设计基础》课程是新生入校的第一门计算机课程,也是大学本科理工科专业学生必修的公共基础课程。

《计算机与程序设计基础》的主要教学目的是使学生较全面、系统地掌握计算机的基本知识,理解计算机操作系统基础知识、掌握操作系统的基本应用,了解办公自动化系统的概念、基本组成和关键技术,熟练掌握文字处理软件、电子表格软件、演示文稿制作软件的使用方法,掌握C语言的基本语法、编程技术和基本算法,掌握程序设计的基本思想和方法,具备利用计算机求解实际问题的基本能力,能灵活应用C语言进行程序设计,有一定的编程和调试程序的能力。

使学生具有利用计算机分析问题、解决问题的意识与能力,提高学生的计算机素养,为将来应用计算机知识和技能解决专业中的实际问题打下必要的基础。

按照国家提出的课程培养目标、以及开设了本课程的相关专业2017培养方案中的毕业要求,制定本课程学习目标如表1所示:表1 《计算机与程序设计基础》(C语言)课程目标-毕业要求关系表二、课程内容及学时分配本课程内容、建议学时以及知识单元与课程目标支撑关系如表2所示。

表2 《计算机与程序设计基础》(C语言)课程内容及学时分配三、教学方法根据所面向学生的不同特点和专业要求,针对不同的教学内容采用不同的组织方式。

对理论性较强的内容以课堂教学为主;对应用性强的部分精讲多练,加强课内实验和课外自主练习;对较复杂的操作性内容采用任务驱动的案例教学;对知识性方面的内容以学生自学为主,同时让学生充分利用网络资源、教育平台进行启发式、讨论式、研究式的自主学习,在教学中给学生提供多样化的探索空间,鼓励他们进行个性化发展。

《程序设计基础》理论教学大纲

《程序设计基础》理论教学大纲

《程序设计基础》理论教学大纲 总则:本教学大纲适应本科层次的计算机类专业。

一、教学目标 通过本课程的学习,使学生了解算法的基本概念,会根据算法编制相应的程序,并初步积累编程经验,能够比较熟练地掌握C语言的语法规则,自己解决一些比较简单的程序课题,同时也为后继课程的学习打下坚实的基础。

二、教学要求 通过本课程的学习,学生应达到下列基本要求: 1、掌握以下内容:C语言基本语句、语法、数据类型、运算符和表达式、一维数组、字符数组、函数的定义、声明、调用以及嵌套调用、变量的作用域、变量的存储特性、宏定义命令。

2、掌握使用C语言进行顺序、选择、循环结构程序设计的基本技能。

3、理解二维数组、指针、文件、枚举、结构体、共用体类型变量的基本概念和使用规则。

4、了解递归调用、结构体数组等的使用的基本思想。

三、教学方法 1、课堂讲授 2、基于网络的自主学习 本课程的教学Blog,相关问题通过Blog解答; 3、实验 四、考核方法 理论考试: 60% 实验考试: 10% 平时作业及上课表现(含实验报告): 30% 五、教学重点和难点 本课程主要教学内容: 1、教学重点 算法的基本概念、常量变量运算符与表达式、程序控制结构、数组、函数、编译预处理、指针、结构体与共用体及文件 2、教学难点 掌握简单算法及程序控制结构;数组、函数、指针、链表和文件的使用;养成良好的编程习惯。

六、知识范围及与相关课程的关系 本课程是一门专业基础课,该课的先修课程是计算机导论,后续课程有数据结构,操作系统,其他关系较密切的课程有编译原理等。

本课程为后续课程提供了语言结构模板,类C的伪代码算法表示等。

七、课程内容及学时分配 课时安排:48+32 学时分配如下: 第一部分: C语言概述 1课时 『主要内容』 C语言的历史背景、特点,源程序的结构 『教学重点和难点』 C语言程序的结构和设计的风格 第二部分:程序的灵魂--算法 1课时 『主要内容』 算法的概念、举例、特征、表示,结构化程序设计方法 『教学重点和难点』 算法的概念、N-S图、常用算法思想。

程序设计基础课程简介

程序设计基础课程简介

《程序设计基础》课程简介课程编号:E1112101 英文名称:Programming Fundamentals学分:3 学时:48授课对象:计算机科学与技术专业,软件工程专业,网络工程专业课程目标:通过理论教学,使学生初步了解计算机软硬件系统,掌握计算机的基本使用方法使学生较好地掌握程序设计方面的知识,掌握基本的程序设计方法,具备初步的程序设计能力,并能熟练运用TC或VC集成环境进行C语言程序的编写、编译与调试。

课程内容:计算机软硬件系统基础知识,程序设计语言概述,程序设计语言基础,顺序、选择、循环结构程序设计,构造类型数据,函数,编译预处理,指针,文件等。

本课程的实验环节为独立实验课程《程序设计基础实验》。

预修课程:无《面向对象方法》课程简介课程编号:E1132103英文名称:Object-Oriented Paradigm学分:4 学时:64授课对象:计算机科学与技术、软件工程、网络工程课程目标:本课程是计算机科学与技术、软件工程、网络工程专业的一门学科基础必修课程。

本课程通过在学习面向对象概念、方法和相关理论的基础之上,着重介绍C++对面向对象的具体支持和实现,并通过具体的设计实例来使学生掌握面向对象编程技术、理解面向对象思想、了解面向对象分析和设计方法、逐步养成面向对象的思维方式,为后续课程的学习奠定基础。

课程内容:本课程以C++为面向对象程序设计语言,以面向对象思想解决实际问题为主线,逐步介绍了面向对象程序设计的基本概念,其中包括:数据抽象、对象、封装、继承、多态概念等。

在介绍这些基本概念并利用这些基本概念解决实际问题时候,渗透面向对象分析、设计方法,使学生掌握用C++实现面向对象编程并了解面向对象分析设计的基本方法。

预修课程:程序设计基础、程序设计基础实验《计算机组织与结构》课程简介课程编号:E1112104英文名称:Computer Organization & Architecture学分:3.5 学时:56授课对象:网络工程、软件工程、计算机科学与技术专业本科生课程目标:本课程是计算机类学生学习专业知识的基础,学习本课程后,学生可以了解电子数字计算机从指令和数据输入直到打印输出结果的计算机内部工作的全过程,从而建立完整的系统概念,为今后从事硬件和软件技术工作打下坚实的基础。

《程序设计基础(CC++)》课程教学大纲

《程序设计基础(CC++)》课程教学大纲

《程序设计基础(C/C++)》课程教学大纲一、课程信息英文名称:Foundation of Programming (C/C++)授课方式:机房授课课程类别:学科基础课程性质:必修学分:3学时:54学时适用对象:计算机类专业等先修课程:计算机导论开课院系:软件工程系、计算机科学与技术系等二、课程简介《程序设计基础(C/C++)》是软件工程、计算机科学与技术等计算机类本科专业的学科基础课程。

本课程主要的教学内容是C++语言的基本数据类型与表达式,程序基本控制结构,函数、数组及指针的运用,以及输入/输出流类的应用等。

课程以程序设计方法贯穿始终,从语法规则到编程实践,力求在掌握基本程序设计方法的同时,培养学生良好的程序设计习惯,养成良好的专业素养。

本课程的教学方式采用机房上课演示讲授并辅以学生上机练习,充分利用课堂网络教学环境,与PPT、板书、课后思考题和练习题等相结合,并结合课程设计教学环节,使学生能够掌握C/C++程序设计的基本方法,学会对现实世界中的问题及其解决方法用C++语言进行描述。

三、课程任务、目标与要求1.课程任务《程序设计基础(C/C++)》是学习计算机编程的入门课程,学生不仅要学习C/C++语言的基本知识和程序设计方法,还要上机编程实践,掌握计算机调试程序的基本技能,为后续课程的学习打下良好的编程基础。

2.课程基本要求2.1课程目标《程序设计基础(C/C++)》课程着重对学生编程实践能力的培养。

要求学生重视上机编程实践,广学多练,不断地培养和提高编程兴趣;充分利用现代信息技术及互联网资源,运用发散性思维方式,对相关知识进行扩展,开阔视野,在循序渐进中提高编程能力。

2.2 课程目标与毕业要求之间的对应关系本课程要求学生掌握软件工程和计算机学科有关程序设计的基本理论和基本知识;掌握对现实世界中问题及其解决方法用C++语言进行描述的分析方法和技术;具有运用C/C++语言进行程序设计的基本能力;了解程序设计方法和C/C++语言的理论发展动态和行业需求。

《程序设计基础(VB)》课程教学大纲

《程序设计基础(VB)》课程教学大纲

《信息技术基础》(VB)实验教学大纲制定:审核:第一部分教学大纲说明一、课程性质、目的与任务《程序设计基础》是一门实践性很强的课程,主要内容包括Visual Basic的基本概念、Visual Basic的界面设计、Visual Basic语言基础、Visual Basic的基本语句、过程设计、文件操作、图形及多媒体处理、数据库操作等。

根据培养应用型人才的需要,本课程的目的与任务是使学生通过本课程的学习,了解开发Visual Basic应用程序的一般过程,建立程序设计的基本概念,编写简单应用程序,为今后专业学习中使用计算机打下良好的基础。

二、先修课要求大学计算机基础三、课程的教学要求基本概念和基本知识:面向对象程序设计(OOP),Visual Basic的集成开发环境(IDE),界面设计,Visual Basic语言基础,基本语句结构,过程,文件,数据库应用.基本技能:算法实现、程序重点:常用控件的使用、三种基本结构、过程难点:程序算法、递归过程四、课程的教学方法和教学形式建议学生自主实验+教师指导第二部分教学过程建议一、课程教学总学时数、学分数课程教学总学时数为72学时,其中理论授课时间为36学时,上机实验为36学时。

二、实验学时分配第三部分实践教学环节《Visual Basic程序设计》是一门实践性很强的课程,实践教学是教学过程中必不可少的环节。

通过计算机实验和程序调试,使学生加深理解、验证巩固课堂教学内容;增强对程序调试的感性认识;掌握程序设计的基本方法;培养学生理论与实践相结合的能力.一、课程实验为了进一步强化和巩固课堂所学的知识及实际的应用,配合课堂教学,设置以下课程实验:实验一VB集成环境与应用程序创建初步(课前指导)【实验目的】1.了解VB集成开发环境的基本组成2.了解VB应用程序的创建及开发环境的选项设置3.掌握VB联机帮助的使用4.掌握VB集成开发环境的退出【实验内容】一、VB集成开发环境的基本组成1.启动VB并创建标准EXE工程2.熟悉VB集成开发环境3.熟悉窗体设计器窗口4.熟悉代码窗口5.熟悉VB集成开发环境的其他组成部分二、VB应用程序的创建及开发环境的选项设置1.设计应用程序的界面2.设计界面对象的属性3.编写程序代码4.执行并调试程序5.生成可执行程序文件三、VB联机帮助的使用四、退出VB集成开发环境实验一VB应用程序的创建及编程基础【实验目的】1.学会创建一个简单的VB应用程序2.掌握VB的数据类型、常量、变量、运算符和表达式3.了解过程与函数的使用【实验内容】一、建一个简单的VB应用程序1.启动VB,创建一个标准EXE类型的VB应用程序2.设计应用程序的界面3.设计界面对象的属性4.编写程序代码5.保存工程6.执行并调试程序7.生成可执行程序文件二、VB的数据类型、常量、变量、运算符和表达式三、过程与函数的使用实验二VB语言基础(一)【实验目的】1.掌握各种数据类型2.掌握常量与变量【实验内容】一、各种数据类型的定义与使用二、变量的定义实验三VB语言基础(二)【实验目的】1、掌握表达式与运算符2、掌握VB常用的内部函数【实验内容】一、各种数据类型表达式与其运算符二、VB常用的内部函数的实验测试实验四VB基本语句的使用(一)【实验目的】1、掌握顺序结构语句的使用【实验内容】一、顺序结构语句的使用实验五VB基本语句的使用(二)【实验目的】1、掌握选择语句的使用【实验内容】一、选择语句实验六VB基本语句的使用(三)【实验目的】1、掌握循环语句的使用【实验内容】一、循环语句实验七数组【实验目的】1、掌握数据的定义2、掌握不同类型的数据的区别3、了解控件数组的定义方法【实验内容】1、学会数组的定义2、掌握不同类型的数组的区别3、了解控件数组的定义方法实验八过程【实验目的】1.掌握通用子程序的定义和调用方法2.掌握函数过程的定义和调用方法3.明确子过程和函数过程的特点及区别【实验内容】一、Sub过程的定义和调用二、Function过程的定义和调用实验九递归调用、参数传递和变量作用域【实验目的】1.明确递归过程的编制特点,掌握通用过程的递归调用方法2.掌握实参和形参按值传递和按地址传递的不同用法,明确不同实参数据类型具有的不同传递形式3.明确过程级、窗体级和模块级变量的作用域和特点,能够根据具体情况使用全局变量、共用变量和局部变量4.掌握Sub函数调用时的两种格式:语句格式和命令格式【实验内容】一、递归过程二、参数传递实验十窗体和标准控件(一)【实验目的】1.掌握命令按钮、标签及文本框控件的使用方法2.掌握复选框、单选按钮及框架控件的使用方法【实验内容】一、命令按钮、标签及文本框控件的使用二、复选框、单选按钮及框架控件的使用实验十一窗体和标准控件(二)【实验目的】1.握列表框组合框控件的使用方法2.握滚动条和定时器控件的使用方法【实验内容】一、表框组合框控件的使用二、滚动条和定时器控件的使用实验十二窗体和标准控件(三)【实验目的】控件内容的综合与复习【实验内容】一、各种不同控件的使用综合实验十三对话框与菜单的设计【实验目的】1、掌握不同对话框的使用2、掌握下拉式菜单的设计方法3、掌握弹出式菜单的设计方法【实验内容】一、下拉式菜单的设计二、弹出式菜单的设计3、三、掌握不同对话框的使用实验十四文件的基本操作【实验目的】1.掌握DriveListBox、DirListBox和FileListBox控件的使用方法2.掌握文本文件的读写操作方法3.掌握随机文件的读写操作方法4.掌握二进制文件的读写操作方法【实验内容】一、DriveListBox、DirListBox和FileListBox控件的使用二、文本文件的读写三、随机文件的读取四、二进制文件的读取实验十五制作图形【实验目的】1.掌握VB提供的形状(Shape)控件和图像(Image)控件的使用方法2.掌握坐标和颜色的设置方法3.掌握常用的绘图方法4.能编制简单的动画程序【实验内容】一、形状(Shape)控件二、图像控件三、各种图形方法实验十六、十七数据库【实验目的】1.理解数据库的结构和表的结构2.掌握在VB环境中建立Access数据库和在数据库中添加表的方法通用子程序的定义和调用方法4.掌握数据控件(Data)的基本属性设置和使用方法5.掌握常用数据显示控件与Data控件的绑定方法6.熟悉SQL语言中常用语句的语法规则和使用方法7.了解直接运用Access创建数据库的方法8.能编制简单的数据库操作程序【实验内容】一、数据管理器二、数据控件三、结构化查询语言SQL四、数据窗体向导。

《程序设计基础》教学大纲

《程序设计基础》教学大纲

《程序设计基础》课程理论教学大纲一、课程编码及课程名称课程编码:课程名称:程序设计基础(Fundamentals o f Programming)二、学时、学分及适用专业总学时数:72 学分:4 适用专业:软件工程(本科)三、课程教学目标通过本课程的学习,使学生理解结构化程序设计和面向对象程序设计的基本概念,初步掌握使用计算机语言进行程序设计的基本思想和方法,建立起对程序设计较为系统和全面的认识,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,养成良好的程序设计风格,为后续课程的学习奠定程序设计基础。

四、课程的性质和任务《程序设计基础》是软件工程专业重要的一门学科基础课程,是传授程序设计的基础知识和培养学生程序设计基本能力的入门性课程。

主要介绍算法分析和设计、程序设计语言C++的基本语法、软件工程的基本知识、面向对象程序设计的基础。

通过本课程的学习,使学生了解程序设计的基本概念,掌握程序设计的基本思路和方法,对程序语言和程序设计涉及的有关技术有一个概括性的了解,熟悉一种程序设计语言,具有一定的面向过程和面向对象程序分析、设计、编码和调试等能力,为今后对程序设计和软件开发技术的进一步深入学习奠定基础。

五、课程教学的基本要求通过本课程的学习,要求学生:1.了解程序设计技术的形成和发展,理解程序设计的基本概念。

2.掌握面向过程和面向对象程序设计的基本思想和方法。

3.掌握以程序设计的观点分析和解决问题的方法。

4.充分理解结构化程序设计和面向对象程序设计的特点。

初步掌握C++语言面向过程的程序设计方法和面向对象程序设计的方法,具有一定的程序编写、调试和测试能力。

本课程是一门实践性很强的课程,要求学生不仅掌握程序设计的基本原理及编程技术,而且应掌握至少一个C++语言的开发环境及基本的程序调试和测试的方法。

六、课程教学内容第一章程序设计概论(共4学时)(一)本章教学基本要求了解程序设计的一般过程;了解思维与语言、算法与数据结构、算法与程序间的关系;通过程序设计语言发展历史,了解各语言的特点;理解语法的语法图描述;了解程序设计范式的演化。

《C语言程序设计基础》(非计算机专业)大纲

《C语言程序设计基础》(非计算机专业)大纲

《程序设计基础》教学大纲一、课程基本信息课程中文名称:程序设计基础课程英文名称:Fundamentals of Programming课程编码:课程类型:公共基础课总学时:72 理论学时:32 上机学时:32 课外学时:8学分:4适用专业:全校理工科学生先修课程:大学计算机基础开课院系:计算机教研室二、课程的性质与任务本课程是面向全校工科类非计算机专业的计算机公共基础课程之一。

本课程的任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本内容及程序设计的基本方法与编程技巧,了解进行科学计算的一般思路,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。

三、课程教学基本要求通过学习,使学生对计算机程序设计有一个总体认识,学会利用C语言解决一般应用问题。

通过学习,使学生掌握计算机软件设计的方法,掌握各种语句的应用。

四、理论教学内容和基本要求课内学时为32学时,学生自学的课外学时为8学时。

(一)C语言的基本概念(2学时)1.了解C语言的发展及特点2.掌握程序的基本结构与书写格式3.掌握头文件、数据说明、函数的开始和结束标志4.熟悉C语言程序开发过程及Visual C++编程环境。

(二)数据类型、运算符和表达式(4学时)1.掌握C语言中三种基本数据类型(int、float、char)2.掌握常量及变量的定义方法3.掌握运算符的种类、运算优先级、结合性4.掌握表达式类型(赋值表达式、算术表达式、逗号表达式)及求值规则。

5.掌握不同类型数据间的转换与运算(三)顺序结构(4学时)1. 了解基本语句(表达式语句、空语句、复合语句)2. 掌握字符数据的输入/输出函数3. 掌握标准的输入/输出函数(四)选择结构(4学时)1. 掌握关系运算符与关系表达式、逻辑运算符与表达式。

2. 掌握if语句的三种形式及其执行过程、if语句的嵌套、条件运算符。

3. 掌握switch-case语句:switch-case语句的构成、执行过程、break的使用。

《程序设计基础(2)》课程教学大纲

《程序设计基础(2)》课程教学大纲
难点:私有成员与保护成员的访问
验证
实验
10
练习6:类的继承与派生实验
2
重点:类继承定义方法;派生类构造函数与析构函数;访问控制;同名冲突
难点:构造函数与析构函数
验证
实验
11
练习7:多态性实验(一)
2
重点:函数重载实现静态多态性;运行符重载实现静态多态性
难点:运行符重载
验证
实验
12
练习8:多态性实验(二)
《程序设计基础(2)》课程教学大纲
课程名称:程序设计基础(2)
课程类别(必修/选修):必修
课程英文名称:Fundamentals of Programming(2)
总学时/周学时/学分:90/5/5
其中实验(实训、讨论等)学时:54
先修课程:程序设计基础(1)
授课时间:周二(5-7节)、周五(3-4节)
授课地点:6E303、7A102机房
授课对象:2016级软件工程3班
开课院系:计算机与网络安全学院
任课教师姓名/职称:刘立平/讲师
联系电话:,749249
Email:
答疑时间、地点与方式:
1.每次上课的课前、课间和课后,采用一对一的问答方式。
2.每次习题课,采用集中讲解方式。
3.通过,网上答疑系统及电话答疑,每周两次(周二晚上7:30-9:30、周四下午2:30-4:30,)。
□核心能力1.
■核心能力2.
■核心能力3.
■核心能力4.
□核心能力5.
□核心能力6.
□核心能力7.
□核心能力8.
理论教学进程表
周次
教学主题
教学时长
教学的重点与难点
教学方式
作业安排

“程序设计基础”课程教学大纲

“程序设计基础”课程教学大纲

教师学科教案[ 20 – 20 学年度第__学期]任教学科:_____________任教年级:_____________任教老师:_____________xx市实验学校西安交通大学“程序设计基础”课程教学大纲英文名称:Programming Fundament课程编码:COMP1011学时:48 学分:3适用对象:电子科学与技术专业本科生先修课程:使用教材及参考书:谭浩强主编,《C程序设计》(第二版),清华大学出版社,2000年一、课程性质、目的和任务“程序设计基础”是高校计算机和信息工程专业学生必修的专业基础课,它是计算机和信息工程专业学生进入大学学习所接触的第一门计算机课程。

这门课通过全面、深入、系统地介绍程序设计方法和程序设计语言,使学生初步了解计算机,建立起程序设计的概念,通过学习用一种典型的程序设计语言编写程序,初步掌握程序设计方法,养成良好的程序设计风格。

程序设计包括两个方面内容:程序设计方法和程序设计语言。

本课程针对一年级学生初始接触程序设计的概念的特点,结合一种典型的程序设计语言,通过列举大量的应用实例,初步系统的介绍面向过程、面向模块和结构化程序设计的思想和方法。

在此基础上,用较少的学时,引入C++基本内容和面向对象的思想。

结合上机实践,使学生对程序设计有一个比较全面地、系统地了解,为学生今后的学习打下一个扎实的理论基础,使学生对程序设计的主要方法和实际应用建立起初步的概念。

二、教学基本要求1.让学生认识本课程在整个计算机系列课程中的地位、作用和意义;2.系统的介绍程序设计的发展,重点介绍结构化程序设计方法和面向对象思想;3.深入浅出的介绍程序设计语言中最基本,最常用的内容;4.讲深,讲透有关数组,指针、函数的概念;认识它们在程序中的作用和内涵,以及在数据结构中意义;5.通过程序设计语言的介绍和应用举例,让学生体会结构化程序设计思想在语言中的具体体现;6.程序设计是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行,要求重视实践环节。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

College of Software EngineeringUndergraduate Course SyllabusCourse ID 311008040Course Name Programming FundamentalsCourseAttribute□Compulsory □Selective Course Language □English □Chinese Credit Hour 4 Period 80Semester □First Fall □First Spring □Second Fall □Second Spring □Third Fall □Third Spring □Fourth Fall □Fourth Spring Instructors ZHAO Hui, YANG Pin, SHU Li, RUAN ShuhuaDescription Introduces the fundamental concepts of procedural programming. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. The course also offers an introduction to the historical and social context of computing and an overview of computer science as a discipline. This course also provide the basic concepts of Object-Oriented Programming and Servlet.Prerequisites Introduction to Computer SystemsTextbook JA V A: How to Program(6th ed.), H.M.Deitel, P.J.Deitel, Prentice Hall,2004 Resource Grading Assignments (10%) Projects(20%) Lab.(20%)Final exam (50%)Topics Ch1 Fundamental programming constructs (10H)•Basic syntax and semantics of a higher-level language•Variables, types, expressions, and assignment•Simple I/O•Conditional and iterative control structures•Functions and parameter passing•Structured decomposition•Case Study: Introduction to JavaLearning objectives:1.Analyze and explain the behavior of simple programs involving thefundamental programming constructs covered by this unit.2.Modify and expand short programs that use standard conditional anditerative control structures and functions.3.Design, implement, test, and debug a program that uses each of thefollowing fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, and the definition of functions.4.Choose appropriate conditional and iteration constructs for a givenprogramming task.5.Apply the techniques of structured (functional) decomposition tobreak a program into smaller pieces.6.Describe the mechanics of parameter passing.Ch2 Algorithms and problem-solving (10H)•Problem-solving strategies•The role of algorithms in the problem-solving process•Implementation strategies for algorithms•Debugging strategies•The concept and properties of algorithms•Case Study: Introduction to JavaLearning objectives:1.Discuss the importance of algorithms in the problem-solvingprocess.2.Identify the necessary properties of good algorithms.3.Create algorithms for solving simple problems.e pseudocode or a programming language to implement, test, anddebug algorithms for solving simple problems.5.Describe strategies that are useful in debugging.Ch3 Fundamental data structures (20H)•Primitive types•Arrays•Records•Strings and string processing•Data representation in memory•Static, stack, and heap allocation•Runtime storage management•Pointers and references•Linked structures•Implementation strategies for stacks, queues, and hash tables •Implementation strategies for graphs and trees•Strategies for choosing the right data structure•Case Study: Introduction to JavaLearning objectives:1.Discuss the representation and use of primitive data types andbuilt-in data structures.2.Describe how the data structures in the topic list are allocatedand used in memory.3.Describe common applications for each data structure in the topiclist.4.Implement the user-defined data structures in a high-levellanguage.pare alternative implementations of data structures with respectto performance.6.Write programs that use each of the following data structures:arrays, records, strings, linked lists, stacks, queues, and hash tables.pare and contrast the costs and benefits of dynamic and staticdata structure implementations.8.Choose the appropriate data structure for modeling a given problem. Ch4 Recursion (10H)•The concept of recursion•Recursive mathematical functions•Simple recursive procedures•Divide-and-conquer strategies•Recursive backtracking•Implementation of recursion•Case Study: Introduction to JavaLearning objectives:1.Describe the concept of recursion and give examples of its use.2.Identify the base case and the general case of a recursively definedproblem.pare iterative and recursive solutions for elementary problemssuch as factorial.4.Describe the divide-and-conquer approach.5.Implement, test, and debug simple recursive functions andprocedures.6.Describe how recursion can be implemented using a stack.7.Discuss problems for which backtracking is an appropriate solution.8.Determine when a recursive solution is appropriate for a problem. Ch5 Event-driven programming (10H)•Event-handling methods•Event propagation•Exception handling•Case Study: Introduction to JavaLearning objectives:1.Explain the difference between event-driven programming andcommand-line programming.2.Design, code, test, and debug simple event-driven programs thatrespond to user events.3.Develop code that responds to exception conditions raised duringexecution.Ch6 Software development methodology (10H)•Fundamental design concepts and principles•Structured design•Testing and debugging strategies•Test-case design•Programming environments•Testing and debugging tools•Case Study: Introduction to JavaCh7 Social context of computing (10H)•History of computing and computers•Evolution of ideas and machines•Social impact of computers and the Internet•Professionalism, codes of ethics, and responsible conduct•Copyrights, intellectual property, and software piracyTools &JDK 5 or 6, Eclipse 3.2EnvironmentProjects ATMVersion No: 1.0Author:Hui Zhao Date: 2008-7 -15Auditor: Mei Hong Date: 2008-7-25Signature of leader:Date: 2008-7-30。

相关文档
最新文档