面向对象软件开发实践之基本技能训练

spContent=本课程介绍如何将面向对象的理论和技术应用于软件开发实践,引导学生走完从分析设计到编码测试再到发布的软件开发全流程,帮助学生掌握当前主流的面向对象软件开发技术和工具,培养从事软件开发工作所必需的职业技能。

提示:自2019年起,本课程转为由网易云课堂管理人员负责每年创建新学期,每学期持续一年,采用随到随学的模式,仍然免费。

任课教师不再提供教学、作业批改的服务。

本课程除偏理论部分外,所介绍部分技术己经陈旧,任课教师在自己的教学网站上提供更新服务,提供最新的开发技术自学资源,包容.NETCore3.1,Android10,Kotlin等在线课程,访问以下链接了解详情:

=======================================================

计算机专业高年级学生(大三下至大四),基本上已经学完计算机专业的骨干课程,比如《数据结构与算法》、《操作系统》、《面向对象程序设计》、《软件工程》等,这些课程都非常有用,但它们要不偏重于理论,要不偏重于编程语言的语法等细节,学生缺少一门这样的课,这门课能告诉他们:一个有用的软件到底是如何诞生的,我们在学校里学的操作系统、数据结构等专业课程到底在开发中是怎样应用的……

另一方面,高年级本科生以及研究生面临着就业的考验,如果一个学生只是学了一脑子的理论知识,对当前主流的软件开发技术知之甚少,缺少软件开发经验,那么他的就业可能就会比较困难。

出于以上两点考虑,设计并推出了《面向对象软件开发实践》这门计算机专业课程。

这门课所有教学内容围绕着“一个真正有用的软件是怎样开发出来的”这样一个主题而展开,介绍人们在实际软件开发过程中“真正”使用的开发技术、软件系统设计原则和开发流程等。这是一门综合性的实践课程,涉及到多门计算机专业课程所介绍的知识。

在当今时代,开发支持手机、平板和PC的移动互联网应用大行于世,开发这样的让用户能“随时随地共享信息”的软件系统,是对新时代软件开发者的一大挑战。这门课程围绕着“移动互联应用开发”这一中心,有步骤地,循序渐进地介绍了多种相互配合与彼此协作的具体软件开发技术(具体技术列表参见各系列的教学大纲),使用C#、Java和JavaScript三种主流的编程语言,具体来说,是使用C#和Java编写示例介绍面向对象软件开发理论,使用JavaScript开发Web前端页面,使用Java开发Android手机客户端,使用C#开发Web后端。

学习建议:

由于所涉及技术内容众多,整门课程被分为循序渐进的三个系列,请注意,本课程各系列学习内容的安排具有明显的层次与递进关系,后一系列的学习建构于前一系列的基础之上。

(2)对于己有经验的学习者,或者是在职的软件工程师,则可以采用选学的方式,从本课程诸多模块中选择您所需要的进行学习,作业能否完成则不作要求。

对于每一个具体的技术领域,我都精心地进行了选择和安排,能够帮助您高效地把握特定技术领域的要点,并对学习中的难点进行了透彻解析,可以为您打好进一步自行深入探索技术内幕的基础,

以下是各系列的具体介绍

第一系列:基本技能训练主要介绍面向对象开发的基础理论,培养面向对象编程基础技能。这一部分会介绍诸如重构、设计模式、测试驱动开发等重要的面向对象理论、方法与技术,同时也介绍WindowsForms可视化设计,Android组件化开发,Socket编程等等用技术。

这一系列课程属于“起步”与“打基础”阶段。

第二系列:专业技能训练这一系列的学习重点是掌握业界使用的部分主流技术的技术内幕与开发要点,培养能胜任软件开发工作所需的职业技能。具体内容包容:异步调用与并行计算,Windows和Andorid数据存取技术,JavaScript前端开发基础及AngularJS等常用框架。这些技术,将在第三系列中被组合起来开发移动互联应用。

这一系列学习任务与难度,与第一系列相比,可以说是倍增,属于“爬坡”与“攻坚”阶段。

第三系列:实战技能训练

这一系列的课程,偏重于系统分析与设计,介绍软件系统的典型架构,培养软件系统的分析与设计能力。具体来说,我们将把前两系列(特别是第二系列)所介绍的各种技术组合起来,在面向对象分析与设计(OOAD)理论的指导下,针对具体的开发场景,完成从分析、设计再到实现的全过程,开发出可以使用手机、平板和PC“随时随地共享信息”的“移动互联软件应用系统”。

这一系列的课程,可以看成是“冲刺”与“实践”阶段。

期望这三个系列的课程,能帮助您掌握当前主流的软件开发技术,提升您的软件开发技能,为您成长为一名优秀的软件工程师,助一臂之力!

本课程不提供证书服务。

必须学过:《C#/Java面向对象程序设计》、《操作系统原理》、《数据结构》

如果还学过以下课程则更好:《软件工程》、《数据库基础》、《计算机网络》

《面向对象软件开发实践》之“基本技能训练”

一、千里之行,始于足下1.1欲谋其事,先正其意——课程概述与学习指南1.2工欲善其事,必先利其器——搭建学习与开发环境1.3温故而知新——重新认识面向对象【选修】使用C#开发桌面应用——WinForm入门二、练武不练功,到老一场空2.1万丈高楼平地起——把握面向对象开发基础技能2.2面向对象真实软件技术剖析——.NET委托与事件揭秘2.3面向对象思想助推技术学习——聊聊Android开发中的Activity三、拳不离手,曲不离口3.1重温儿时搭积木的乐趣——组件化开发3.2大牛vs菜鸟——重构与代码质量3.3好钢是如何炼出来的——单元测试与测试驱动开发【选修】Android组件化开发技术基础四、不识庐山真面目,只缘身在此山中4.1快点,再快点——多线程开发技术基础4.2无网不胜——网络开发技术基础【选修】举一反三——掌握Android多线程开发基础技术【选修】请遵守交通规则——线程同步【选修】这里的世界很精彩——Socket网络开发技术进阶五、山重水复疑无路,柳暗花明又一村5.1软件开发之道,简单易懂——聊聊面向对象软件设计基本原则5.2万丈高台,起于垒土——类设计指南5.3软件开发之内功心法——SOLID设计原则5.4软件开发之九阴真经——设计模式及应用选讲

5.5从OOP到CBD再到互联网——一个计算器软件的演化过程

本课程所涉及到的主要参考书如下:

1.《.NET4.0面向对象编程漫谈》基础篇和应用篇金旭亮

2.《重构:改善既有代码的设计》MartinFowler

3.《设计模式:可复用面向对象软件的基础》ErichGamma等

4.《敏捷软件开发(原则模式与实践)》RobertC.Martin

5.《UML和模式应用(第3版)》CraigLarman

有关微软技术的“优劣”,一直是个敏感话题,各程序员大致分为三个集团:软粉、软黑和中间派(其成份复杂,包容骑墙、合稀泥、看热闹等人),时不时地引发激烈口水战。

这个问题给初学者的思想带来了一定的混乱,也引发了一定的疑虑,所以,这里我稍微详细地分析一下这个问题。

(1)最大的疑问:互联网公司很少用微软技术,是因为微软技术不行?

要判定某技术行还是不行,必须针对特定的应用场景,选择多种技术,进行比较全面技术对比分析,才能得到在这个场景下谁行谁不行的结论,没有做这种对比分析,就笼统地说”XXX技术不行“,那你说这结论靠谱吗?

(3)各种技术是相通的,底层原理是通用的。比如在第三系列中,我介绍了使用AngularJS作为前端,使用ASP.NETcoreWebAPI作为后端开发“单页面(SPA)”应用程序,要将后端从ASP.NETcoreWebAPI转为流行的node.js,亦或是用PHP重写后端Web服务,很困难吗?事实上,这门课程介绍了HTTP,JavaScript,REST……,所有需要的知识都介绍了,转为node.js之类其他Web后台框架,只欠临门一脚罢了!

(4)具体软件技术与开发工具都是不断变化的,想“一招鲜,吃遍天“,只是一种美好的想象,干这一行,就得不断地学习,不管是学C#入门,还是学Java入门,亦或是学Python入门,……,其实都不要紧,重要的是你是否入了门。”师傅领进门,修行靠个人“,入门之后,你想学什么就学什么,工作需要什么就学什么,只要你在学习过程中培养出来了自学的能力,这些都还算件事吗?要盯着”能力培养“在这块用劲,而不要纠缠于”VS是全宇宙最强的IDE“,”PHP是最好的编程语言”之类天天打口水战,或者是盲目地追逐潮流,早些年iOS吃香,就去学ObjectiveC,现在前端需求大增,又马上捡起本JavaScript书狂看……

这门课几乎没有什么其他课程常见的单选、多选之类的标准化题型,因为我们的目标是写出真实可用的软件,培养出真正的技能,而不是去记忆一堆的知识点,因此,多数作业都要求学生编程,或者针对某个具体开发场景设计解决方案并进行讨论。

结课时,每个学生都要求写一个功能相对完备的程序,同时配上相应的开发文档。

分数主要是由学生互评确定,必要时由教师进行审核和调整。

面向对象编程语言有多种,本课程主要使用Java/C#,在Web开发技术部分,我们还使用JavaScript。

软件开发环境使用VisualStudio2013/2015和Eclipse4.4,操作系统使用Windows7/8/8.1/10,你应该有一个4.0以上版本的Android手机或平板,以便测试和运行手机应用。

这门课程要求学生具备使用Java/C#/JavaScript三种编程语言写程序的能力。

THE END
1.C语言app排行榜前十名C语言app是一款为C语言学习的用户们带来搜题服务的软件,C语言可以说是计算机语言的入门语言了,无论你是要学习Python还是数据结构或者是Java语言,都要先学习C语言,但是用户在学习C语言时会遇到很多的问题,而这款软件就可以很好地帮助大家解决难题,轻松学习C语言。https://m.pianwan.com/s/zj-2571603
2.学习c语言用什么软件APP推荐学习c语言用什么软件下载以现在的科技水平未来会发展成什么样完全不知道,有一点能肯定的就是机器人一定会很重要,想要完全掌控机器人的操作就要学号c语音,关于c语言的学习有很多的阶段。其中学习c语言用什么软件,c语言在编程中算是比较难的部分了,想要学会就要充分利用好以下这些能够学到一些关于c语言内容的软件。 https://www.wandoujia.com/bangdan/1039521/
3.推荐五款助你快速学习C语言的软件,助你掌握编程技能!C++五款学习C语言的软件推荐,助你快速掌握编程技能! 编程语言是当今数字化时代必备的技能之一,而C语言作为一门广泛应用的编程语言,在程序设计中扮演着重要的角色。想要掌握C语言,一个重要的步骤是选择一款适合自己的学习软件。本文将推荐五款优秀的学习C语言的软件,并给出具体的代码示例,帮助读者快速提升编程技能。 Codehttps://m.php.cn/faq/682730.html
4.轻松学习C#的基础入门C#教程2、支持桌面Windows窗体应用程序 3、支持游戏游戏程序的开发 4、支持Web程序的开发(教务管理系统,图书馆查询系统,服务器服务程序等) 5、支持手机应用程序的开发(嵌入式系统等) 6、支持ASP.NET应用程序的开发。 以上就是学习C#的入门知识点汇总,希望对大家学习C#程序设计有所帮助。https://m.jb51.net/article/75218.htm
5.Csharp学习APK下载LearnC#手机版下载v1.3最新版Learn C#手机版下载是一款专业的手机应用程序,用来帮你学习和强化训练有关C#编程语言的相关课程,Learn C#是一个帮助学习C#的工具。 应用说明: 该SoloLearn C#过程使提供给我们的社区10号的编程语言,完全免费! 软件功能: 在SoloLearn,我们正在建设编码器一个社区,学习是免费的,有趣和有效! 随着编码成为一个“必须有https://m.qqtn.com/q/124255
6.学习C语言的推荐软件:C#语言学习指南C#C语言是一种广泛应用于嵌入式系统和程序开发领域的编程语言。它具有简洁、高效和可移植的特点,是初学者入门编程的良好选择。在学习C语言时,选择一款适合的软件环境可以提高学习效率和编程体验。C#是一种面向对象的编程语言,与C语言有着一定的相似性,因此可以作为学习C语言的软件环境。 https://download.csdn.net/blog/column/12442756/133258829
7.PID学习软件(C#实现PID)PID学习软件(C#实现PID) 查看原文 gitlab 搭建 1 前期准备 Linux系统:ubuntu 20.04 64bit 2 Gitlab的搭建 2.1 Gitlab的安装 2.下载gitlab-ce软件包在https://packages.gitlab.com/gitlab/gitlab-ce链接中下载gitlab-ce在https://gitlab.com/xhang/gitlab链接中下载对应版本的中文补丁 (两个版本需要https://www.pianshen.com/article/8731283870/
8.C#桌面软件开发的学习框架–开源达人博客C#桌面软件开发的学习框架 C#基础 C#基础 day01-C#和.net简介、VS开发工具使用介绍 1.1. C#能够开发哪些程序上? 1.2. C#能够开发哪些程序下? 1.3. 应用的cs和bs模式 1.4. visual studio2019的下载和安装 1.5. visual studio2017的使用入门 1.6. visual studio2019的使用入门http://www.kydr.net/archives/10262
9.苏州C#软件工程师课程苏州C#软件工程师培训【课程名称】:C#软件工程师培训 【学习对象】: 工业自动化专业的学生以及工程师;计算机专业的学生以及工程师;非计算机和工业自动化专业毕业的大专以上学历工科生 【师资力量】: 1、实战经验丰富: 金方向智能制造学院工程师,既有多年的各行业工程经验,又有丰富的产品应用和技术支持经验。 https://www.qinxue365.com/course/892808.html
10.PID学习软件(C#实现PID)PID学习软件(C#实现PID)。通过界面中的文本框可以直接设置多项参数。欢迎下载使用,包含程序源代码。通过界面中的文本框可以直接设置多项参数。可以只有P、I、D或者只用PI、PD、ID或者同时使用PID,方便各位体验P、I、D在控制中分别起到的作用。具体样式可以看博文:https://blog.csdn.net/kai73/article/details/8856https://www.iteye.com/resource/kai73-11021177
11.ASP.NETCore适用于.NET的开源Web框架用于使用 .NET 和 C# 构建 Web 应用和服务的框架。 开始 Windows、Linux 和 macOS 上均支持 使用一个堆栈快速生成 Web 应用 ASP.NET Core 附带生成 Web 应用所需的一切内容,其中包括 Web UI 框架 Blazor,可用于快速创建在任何位置运行的快速、安全且可靠的 Web 应用。 https://asp.net/
12.Halcon深度学习框架原代码说明例子机器视觉框架学习资料C#软件C#语言基础 下载此实例 开发语言:C# 实例大小:42.13M 下载次数:252 浏览次数:1870 发布时间:2022-05-19 实例类别:C#语言基础 发布人:zwdabenniu 文件格式:.zip 所需积分:20 相关标签:HalconC#软件深度学习机器视觉代码 网友评论举报投诉收藏该页 同类人气实例 https://www.haolizi.net/example/view_291499.html
13.用c#开发的软件有哪些?C#应用领域与知名软件6. 云服务与Azure:微软Azure云平台支持C#,许多云服务和后台处理程序都是用C#编写的。 7. 物联网(IoT):C#因其跨平台能力和性能优化,也被用于物联网设备的软件开发。 8. 人工智能与机器学习:C#在某些AI和机器学习框架中也有应用,尽管Python更为流行,但C#因其性能优势在某些领域也有所使用。 https://www.banlikanban.com/info/tool/toolchat/8476.html
14.C#编程自学软件官方下载C#编程自学软件绿色版C#编程自学软件2012电脑学习口碑排行榜 嘉嘉鼠标游戏 打字测试专家 Word基础入门教程 小键盘数字键练习工具 下载服务协议见页面底部 基本简介 本软件内置大量 C# 编程技术知识,详细讲解,包括:C# 语言,语法,数组,面向对象技术,winform 视窗开发技术,asp.net 建站技术,ADO.NET 数据库技术等,是自学 C# 编程技术的好助手! http://www.onlinedown.net/soft/379265.htm
15.计算机职业规划范文(通用10篇)2.C#软件工程师 比较数据库管理而言我更喜爱编程,在大学期间学习几种语言,但对C#情有独钟,并且用C#作了一些项目参加学院创新杯获得二等奖,最重要的是我太爱编程啦。 3.程序员 熟悉各种程序语言,有很好的逻辑IQ:121,喜欢编程。 4.网站设计师 我个人爱好网页设计,Photoshop。 https://www.yjbys.com/jiuyezhidao/news/89435.html
16.屏幕录制一个用c#写的录制屏幕操作的软件这是一个用C#写的可以录制屏幕操作的软件。可以模拟鼠标的移动和左右键操作。支持保存,录制,播放,删除。可供学习使用,如果有想要源码的可以私聊我。我看到了可以给源码进行学习.同时有bug也可以联系我。目前没有实现键盘的录制。后期可能会更新 (0)踩踩(0) https://www.coder100.com/index/index/content/id/2261861
17.C#上位机软件下载部分软件为“百度网盘”下载,如果没有使用过百度云盘或不知道如何下载,请先观看这个视频,再下载。 《如何用百度网盘下载文件》 免责声明: 1.本站所提供的所有软件均搜集于网络,仅限用于学习目的;不得用于商业或者非法用途,否则,一切后果请用户自负。 2.收集的软件不保证其完整性和安全性,下载后请自行检测安装,https://www.51zxw.net/Software.aspx?zid=474&id=143056
18.C#从入门到精通.pdf国家863中部软件孵化器2015年版C#从入门到精通.pdf-国家863中部软件孵化器 -2015年版-人民邮电出版社 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全文 本书以零基础讲解为宗旨,用实例引导读者学习,深入浅出地介绍了C#的相关知识和实战技能。本书第1篇【C#语言基础】主要讲解C#的基础知识、数据类型、变量与常量、运算符与表达式https://max.book118.com/html/2021/0110/5002022324003104.shtm
19.谭科的网络课堂,谭科办公软件/应用,计算机等级考试大讲堂.NET软件开发——C#语言基础视频课程 5.0共26课时178666人已学习 通俗易懂的零基础入门,轻松学习C#编程的基础语法,最终完成一个综合案例的开发 ¥4.002016/04/04 计算机二级ACCESS视频课程 5.0共25课时35326人已学习 直接告诉您考什么、怎么考。 ¥119.002020/12/04 https://edu.51cto.com/lecturer/user_id-8963545.html
20.《LearninghardC#学习笔记》(李志)简介书评c#入门经典 博客园超人气博主 微软MVP 资深.NET软件开发工程师李志力作 全面涵盖C#核心特性 超详尽的学习笔记 作者:李志出版时间:2015年02月 手机专享价 ¥ 当当价降价通知 ¥36.40 定价 ¥49.00 电子书价 ¥23.50 配送至 北京市东城区 运费6元,满49元包邮 http://product.dangdang.com/23655422.html
21.C#基础入门视频教程(含素材)我爱分享网精品软件 关于本站首页视频教程C#基础入门视频教程(含素材) C#基础入门视频教程(含素材)2022年11月6日13:50:16C#基础入门视频教程(含素材)已关闭评论 2,153 适用对象:C#语言 内容简介:本教程以零基础讲解为宗旨,用实例引导读者深入学习,采取“基础知识→案例实战”的讲解模式,深入浅出地讲解C#基础知识。 http://www.zhanshaoyi.com/18708.html
22.YSGStudyHards/DotNetGuide:C#/.NET/.NETCore学习【C#/.NET/.NET Core学习、工作、面试指南】记录、收集和总结C#/.NET/.NET Core基础知识、学习路线、开发实战、编程技巧练习、学习视频、文章、书籍、项目框架、社区组织、开发必备工具、技术前沿周刊、常见面试题、面试须知、简历模板、人才招聘、以及自己在学习和工作中的一些微薄见解。希望能和大家一起学习,共https://github.com/YSGStudyHards/DotNetGuide
23.同方威视技术股份有限公司2023校园招聘4、学习能力强,严谨踏实,具有良好的团队合作和沟通能力。 四、 C#软件开发工程师(北京或南京) 岗位职责: 1、负责系统集成软件开发,包括软件模块的需求分析、详细设计,代码编写,单元测试,缺陷修复等; 2、负责相关系统的详细设计,完成相关设计文档,代码编写,单元测试,缺陷修复等; 3、参加项目的安调以及软件调试。 任https://career.cic.tsinghua.edu.cn/xsglxt/f/jyxt/anony/showZwxx?zpxxid=329898403