学校云 建设你的专属在线教育平台
中国大学MOOC
SPOC学校专有课程
面向对象程序设计
分享
spContent=面向对象程序设计范式具有封装、继承、多态等优点,能显著提高程序的可重用性和可扩展性,是现代开发大型应用软件的主要技术。支持面向对象程序设计范式的程序设计语言有很多,如C++、Java、C#等。C#是一种简单、现代、通用、完全面向对象的程序设计语言。它从C/C++发展而来,汲取了C/C++、Delphi、Java等多种语言的精华,具有语法简洁、与Internet紧密结合、安全高效、灵活兼容等优点。从C#入手,可以更容易体验和感悟现代化程序设计方法和技术,掌握可重用面向对象软件的开发方法,大幅度提高复杂软件系统的生产率和质量。本课程按程序设计基础、面向对象概念、实用化编程、综合应用开发等四个阶段逐层递进,从程序知识源头梳理核心概念、从应用程序架构解析实用技术,用C#语言阐述机理,基于.NET框架实现功能,概念与实用齐步,严谨与趣味同在,助力有编程梦想的同学进行进阶式学习。
—— 课程团队
课程概述

1、为什么要学习这门课?

面向对象程序设计范式具有封装、继承、多态等优点,能显著提高程序的可重用性和可扩展性,是现代开发大型应用软件的主要技术。支持面向对象程序设计范式的程序设计语言有很多,如C++、Java、C#等。C#是一种简单、现代、通用、完全面向对象的程序设计语言。它从C/C++发展而来,汲取了C/C++、Delphi、Java等多种语言的精华,具有语法简洁、与Internet紧密结合、安全高效、灵活兼容等优点。从C#入手,可以更容易体验和感悟现代化程序设计方法和技术,掌握可重用面向对象软件的开发方法,大幅度提高复杂软件系统的生产率和质量。


2、这门课的主题是关于什么?

本课程从C#语言的角度介绍面向对象程序设计范式,内容包括面向对象技术的发展背景和程序设计的四个层次。第一个层次是以变量和过程为设计元素的数据表示及其操作、操作流程控制等基础程序设计;第二个层次是以类为设计工具的对象、继承、多态、接口等面向对象程序设计;第三个层次是基于现成类库的实用化程序设计,包括科学计算、文字处理、图形、文件、数据库,以及泛型、集合、事件驱动等;第四个层次是涉及桌面应用开发的综合应用程序设计。课程涉及主题包括:

    第一章 概述

    第二章 程序设计基础

    第三章 面向对象基础

    第四章 程序设计范式

    第五章 实用化程序设计

    第六章 可视化程序设计

    第七章 数据存储

    第八章 图形绘制技术

    第九章 综合应用


3、学习这门课可以获得什么?

本课程是我校《面向对象程序设计(C#)》精品资源共享课程,适用于对实用编程技术感兴趣的学生。课程以C#语言中的面向对象机制为主,结合面向对象的可视化程序设计语言 Visual C#讲解面向对象中类的定义、类的封装、继承、多态性等概念以及C#语言提供的面向对象类型的使用,旨在帮助学生学习编程基本理论,掌握面向对象程序设计的基本知识和基本技能,有能力利用.NET技术和C#语言进行实用化编程。学习本课程,可以:

(1)掌握Visual Studio .NET开发环境的配置和使用方法,能够利用该平台开发基于控制台、Windows窗体等各种类型的应用程序。

(2)理解面向过程、结构化、面向对象、组件式、并发等编程泛型及各种编程的应用场合并掌握面向对象基础编程技术。

(3)掌握字符串、集合、泛型、绘图、文件、数据库等常见类的使用方法,理解委托和事件机理,能够综合利用相关技术解决实际问题。


4、这门课有什么特色和亮点。

(1)概念探源:大部分核心概念从维基(英文)指出出处并给予解释,特别是一些容易引起混淆的概念,都针对原文进行了详细解析,为基于互联网跟踪新版本和学习先进技术指引方向;

(2)分层递进:从基础级的变量与过程到对象级的封装、继承与多态,从模式级的委托与事件到实用级的集合与泛型,从应用级的图形处理、文件存储、数据库访问到企业级的复杂软件项目开发等,逐层递进学习;

(3)案例驱动:主要概念都以完整的案例加以说明,避免了技术的枯燥性,在增强其实用性的同时指明各种机制的优缺点及其适用场合;

(4)教学视频:除了提供全部可编译运行的源码外,还提供了两套授课视频,包括基于课件的精讲版和遵循教学规律的全程板书实况录播版,可根据自身喜好选择视频听课。


授课目标
  • 掌握Visual Studio .NET开发环境的配置和使用方法,能够利用该平台开发基于控制台、Windows窗体等各种类型的应用程序。

  • 理解面向过程、结构化、面向对象、组件式、并发等编程泛型及各种编程的应用场合并掌握面向对象基础编程技术。

  • 掌握字符串、集合、泛型、绘图、文件、数据库等常见类的使用方法,理解委托和事件机理,能够综合利用相关技术解决实际问题。

成绩 要求

A

课程大纲
预备知识

具有一定的计算机基础知识。

参考资料

廖浩德等. 面向对象程序设计(C#) [M]. 北京:清华大学出版社,2018 

常见问题

1、谁适合学习这门课程?

面临一个全新的学科或课程,你首先想问的可能是“我可以学这个吗?”那么,你想了解面向对象程序设计思想吗?你想学习一门全新的程序设计语言吗?你对C#语言和.NET框架技术感兴趣吗?你想做一个有思想的软件缔造者吗?如果你想让计算机按你的要求做事,就可以学习这门课!本课程按分层递进模式进行教学,适合不同级别的人学习。初学者可以从头学起(基础级的变量和过程);有编程基础的(例如已经学习过C等语言),可以从直接进入面向对象世界(对象级的封装、继承与多态);有面向对象基础的(例如学习过C++、Java等语言),可以立即进入实用化软件开发领域(模式级的委托与事件、集合与泛型等);最后是应用级的图形处理、文件存储、数据库访问,以及企业级的复杂软件项目开发等。


2、当前有那么多支持面向对象程序设计的语言,这门课为什么选择C#语言来描述面向对象方法?

《面向对象程序设计》是一种程序设计范式之一。从哲学和科学的角度来看,范式是指应用于某个领域的一套明确的概念或思维模式,包括理论、研究方法、假设和标准。本课程旨在介绍面向对象哲学观和思维方式,顺便学习一种程序设计语言。支持面向对象程序设计范式的语言有很多,例如C++、Java、C #、Python、PHP、Ruby、Perl、Object Pascal、Objective-C、Dart、Swift、Scala、Common Lisp、Smalltalk,为什么选择C#来介绍面向对象程序设计思想和方法呢?语言没有优劣之分,但有适用场合之别,每种语言都有自己的哲学观和思维模式,形成了自身独具特色的优势。从当前最常用的C++、Java、C#等语言的发展历史来看,C++在C语言的基础上发展而来,Java源自C++(吸收了C++的各种优点,摒弃了C++难以理解的多继承、指针等概念),C#借鉴了C++、Java等,所包含的思想越来越完善,现在被其它语言借鉴。因此从学习角度考虑,我们推荐并使用C#来描述面向对象思想和机制。