课程

课程

计算机科学课程

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. 独立研究. 学生有机会深入研究本课程领域内的任何主题 指导者的指导. 高级学生.