计算机科学课程
1101. Unix和系统管理. Unix操作系统的基础知识和与管理Unix相关的主题
网络.
1410. 计算机科学概论. 介绍设计程序和算法的基本思想和
计算机科学的概念,强调解决问题的能力
使用函数式语言的策略和良好的编程风格. 列表、结构
契约、单元测试. 它在秋季和春季提供.
2102. 其他编程语言. 可以重复. 涵盖编程语言,如Perl, C, c++, Ruby, Python,
等. 前提条件:mcs1410.
2103. 计算实习. 可以重复. 根据学生和教师的兴趣选择主题;
e.g. 调试工具,GUI设计. 先决条件/辅助条件:MCS 1410.
2315. 离散结构I和II. 过程和面向对象编程入门,包括循环和分支; 结构化编程,对象和继承,以及几种常见的数据结构: 数组、堆栈、队列和树. 数学主题包括:归纳和计数; 关于树和图的定理和初等算法. 前提条件:mcs1410. 春天.
3311. 计算理论. 开发了计算机及其处理的数据的抽象模型. 这些
是用来研究他们所能达到的理论限制吗. 最终的
目标是开发一个足够通用的计算模型,人们可能会发现
支配所有编程语言和计算机器的普遍法则
哪一个可以用来解释它们呢. 涵盖的主题有自动机理论,
形式语言,图灵机的可计算性,以及丘奇的论文. 证明是
要求. 前提条件:MCS 3316或教师同意. 这是春天,
甚至几年.
3312. 算法分析. 计算机科学中对基本算法复杂性的数学研究.
前提条件:MCS 2315和MCS 3316. 它提供秋季,奇数年.
3316. 高级离散结构. 对离散结构中所学主题的深化和扩展. 新主题
包括:哈希和映射,堆和优先级队列,逻辑,离散概率,
集合,关系和函数,以及证明技巧. 前提条件:MCS 2315. 秋天
3317. 计算机组织. 硬件设计方法,特别是简单寄存器的形式化模型
开发,然后用于研究程序解释和编译技术.
存储分配中的一些主题,如垃圾收集和维护幻象
也讨论了无限记忆. 需要一个相当大的编程项目.
前提条件:MCS 2315和MCS 3316. 它提供秋天,甚至几年.
3352. 编程语言. 学习编程设计和实现的基本原则 语言. 这些原理背后包括数学理论和学生的学习 必须能熟练使用校样. 主题包括替代模型、层次结构 结构、环境模型、元语言抽象和记忆表征. 学生编写自己的语言解释器. 前提条件:MCS 3316. 它是提供的 春天,甚至是岁月.
3451. 操作系统和并发编程. 对现代分时度假设计和实施中涉及的问题的调查,
多任务系统. 涉及的主题包括调度算法,同步
问题、内存管理和文件管理. 部分学生自己写
操作系统. 前提条件:MCS 2315和MCS 3316. 它提供春天,奇怪的
年.
3V57. 实习. 分级合格/不合格.
4410. 编译器设计. 探索与编程语言的设计和实现相关的问题
翻译包括形式语法和解析,语义定义和语义
处理、运行时存储管理和符号表、错误恢复、代码生成、
并在时间允许的情况下优化编译后的代码. 学生写了大量的东西
编译器本身,一个庞大而复杂的编码项目. 先决条件:MCS
3316. 它提供秋天,甚至几年.
4V43. 计算机科学独立研究. 本课程为学生个人提供了研究任何主题的机会,
问题,或者在计算机科学领域工作. 内容将会确定
通过咨询教练.
4V50. 计算机科学专题. 根据需要提供课程,重点关注教师和学生感兴趣的主题.
4V61. 独立研究. 学生有机会深入研究本课程领域内的任何主题 指导者的指导. 高级学生.