一个项目覆盖CS所有课程的可行性探究

我们先看计算机科学有哪些子领域。

学术领域有:

  • 计算理论
  • 信息和编码理论
  • 算法和数据结构
  • 形式化方法
  • 程序设计语言

实践领域有:

  • 计算机体系结构
  • 并行计算和分布式系统
  • 实时系统和嵌入式系统
  • 操作系统
  • 计算机网络
  • 科学计算
  • 安全性和密码学
  • 人工智能(模式识别、机器学习、数据挖掘、信息提取)
  • 计算机图形学、计算机视觉、多媒体
  • 数据库和大规模数据处理
  • 万维网
  • 自然语言处理和语音
  • 人机交互
  • 软件工程

现在要讨论的是,有没有一个项目,其中要用到所有领域的知识。

首先是所有项目都要用到的,编程语言、算法与数据结构、软件工程。没有编程语言不能写代码,稍微上档次的项目都会用到各种专用或通用算法与各种简单或复杂的数据结构,而实现一个大项目总会用到软件工程的知识。

然后从CS的实践领域中挑选出本科生应该掌握的课程:操作系统、计算机网络、Web、编译原理、计算机图形学、编译原理、数据库、汇编、密码学,附赠一个数据挖掘。

把课程与项目联想起来:

操作系统    ---- 写一个操作系统

编译原理    ---- 写一个语言

计算机网络 ---- 写一个web服务器

Web         ---- 写一个网站

图形学       ---- 一个跟图像处理有关的项目

数据库       ---- 写一个数据库

汇编          ---- 用汇编写点东西

密码学       ---- 写一个加密系统

可见除了汇编与图形学不好找项目外,其他科目都可以找到一个最终任务。

现在问题就来了,数据挖掘哪家强?

不对,问题是怎样用一个项目去覆盖这些科目。

当我们要实现一个数据库系统时,我们要设计SQL语言,这与编译原理的知识可以互动。

而我们实现web服务器时,也需要设计一个网站,而这个网站如果能用自己设计的语言来写就更好了。

在实现操作系统的时候,用到汇编。

关于图形学,我能想到的最好的项目时开发一个游戏。而且是网络游戏,这样会用到计算机网络的知识,而客户端与服务器之间的通信要用到密码学,玩家的游戏数据又可以用来玩数据挖掘。

综合以上,覆盖所有科目的项目就是:自己用汇编知识以及C语言写一个操作系统,然后为这个系统开发一门专用的语言,并用图形学与计算机网络的知识制作一个该操作系统上的网络游戏,游戏客户端与服务器之间的通信要用密码学知识加密,玩家的数据储存在自己实现的数据库系统上,实现一个web服务器并用自己开发的语言编写一个网站作为游戏的官网,最后把游戏玩家的数据用来数据挖掘。

时间: 2024-08-10 23:28:42

一个项目覆盖CS所有课程的可行性探究的相关文章

如何做好一个项目

一.如何评价? 如何评价项目的好坏(从客户角度) 功能:按期,效益,体验,稳定性(性能),扩展 按期完成功能是一定的,不然会被辞退,绩效考核才是最重要的 稳定性的指标:可用性 绩效考核指标:(分钟-故障分钟)/总分钟 一个项目的开发流程: 需求(文档) ->>>原型(需求可行性) ->>>设计(技术选型)(技术,测试人员测试,UI设计) UI,里程碑,原型对客户重要,影响体验 ->>>分工开发(分阶段,里程碑,哪个阶段完成哪些东西) 二.如何做好项目/

谈谈一个项目经理要怎么做

在这次的团队项目中,我担任的是项目经理,虽然之前在其他的课程的分组任务中一直是组长,但是很明显这次不一样,下面通过几个方面来总结一下这两周我当PM的一些收获和经验. 1.遇到了哪些问题 首先是人数的增多,我们团队一共有12个人,这些同学有一部分是之前合作过的,还有一部分是没有机会合作的,所以刚开始分组的时候有点担心不能协调好团队的分工,不过还好,每一个同学都很配合,分配的任务也能够认真的完成,这点我特别欣慰: 其次是老师的要求也比以前更严格,比如说写文档时要非常注意严谨性,服务器的响应时间是怎么

使用 Bootstrap 和 HTML5 Boilerplate 开始一个项目再续

前情提要 使用 Bootstrap 和 HTML5 Boilerplate 开始一个项目 使用 Bootstrap 和 HTML5 Boilerplate 开始一个项目续 在前面,我创建了一个简单的首页,但是现在遇到问题了,我不能满足于 Bootstrap 的默认样式,希望能够根据自己的需求来定义样式,所以,为了能够愉快地修改样式,我需要先来理解一下基本的 Less 语法,更多详细资料可以参考官网 Less 是一个 CSS 预处理器,使用类似于 CSS 的语法,对 CSS 做了很多改进,不过,最

[Asp.Net]最近一个项目的总结

引言 项目到目前告一段落,目前进入测试阶段,下周就要去部署了.虽然项目不大,但是从头到尾都是自己一个人负责,在完成编码之后,对代码进行走查,命名规范,业务逻辑,代码优化等,能负责一个项目的整个编码,非常的兴奋啊. 技术 用到的技术: 技术 项目中使用该技术目的 ASP.NET 使用asp.net进行web端用户信息管理,对用户的增删改查,对签名样本的上传,下载Excel模版,导入用户信息. webService 为签名客户端提供修改用户密码接口服务,下载签名样本接口服务, windows服务 轮

一个项目涉及到的50个Sql语句(整理版)

/* 标题:一个项目涉及到的50个Sql语句(整理版) 说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句. */ --1.学生表Student(S,Sname,Sage,Ssex) --S 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course(C,Cname,T) --C --课程编号,Cname 课程名称,T 教师编号--3.教师表 Teacher(T,Tname) --T 教师编号,Tname 教师姓名 --4.成绩表

vs2010 C# 如何将类做成DLL 再从另一个项目中使用这个类

vs2010 C# 如何将类做成DLL 再从另一个项目中使用这个类 2011-10-20 12:00 486人阅读 评论(0) 收藏 举报 一.将类做成DLL 方法一: 你可以通过在命令行下用命令将以 xxx.cs的文件直接生成为DLL文件 方法二:通过visual studio2010 新建立一个项目,选择为“类库”,然后在这里可以写用户自己的类. 二.引用DLL 在项目中,打开“解决方案资源管理器”,右键“引用”-->“添加引用”-->“浏览” 然后从主机的目录中找到DLL 之后在你的项目

自定义Button供整个项目使用,一个项目中只用这一个Button即可

在做项目的过程中会发现经常需要自定义Button以便实现图片和文字的随意摆放,这样整个项目中就会有很多多余的类,具体的缺点我先列举几个场景. 1.一个button里面放置一个图片和一个文字,上面是图片,下面是文字,产品要求图片的尺寸必须是30*30,这时我们可以自定义一个button把图片尺寸写死.突然有一天又来了一个新的需求,图片要求40*40,又要新建一个类,突然有一天又来了一个需求,图片在下面,又要新建一个类,突然有一天又来了一个需求,图片的大小要根据屏幕的尺寸变化而变化,又新建了一个类,

搭建一个项目的前期准备

后端:node(驱动) + mogodb(数据库) + express(node框架) + mongoose(快速建模工具) + moment.js(时间和日期格式化) + jade(模板引擎) 前端: jquery(类库) + bootstrsop(样式框架) + bower(npm模块) 本地环境:less + cssmin + jshint + uglifyjs + mocha + grunt(集成前面的) 实战步骤 1.需求分析:看一下有哪些页面,页面有哪些内容,有什么样的交互,这样做到

一个项目的整个测试流程

最近一直在进行接口自动化的测试工作,同时对于一个项目的整个测试流程进行了梳理,希望能对你有用~~~ 需求分析: 整体流程图: 需求提取 -> 需求分析 -> 需求评审 -> 更新后的测试需求跟踪xmind 分析流程: 1. 需求提取: 分析依据(包括:需求矩阵.产品交互图.需求说明书) 获取需求的纬度 客户价值 可以为客户带来哪些价值? 可以解决哪些问题? 根据以上问题定位功能是否合理 UI功能 - 展示功能 模块关联-历史模块 新功能模块关联 考虑是否关联?耦合部分是否需要支持? 客户