11. 附录:课程教学大纲

这些是本课程最新章节的正式课程教学大纲。

11.1. 课程:COMP 371/471编程语言

11.2. 章节:2023年秋季001

  • General format:

    • 这是一个 on-campus ,面对面授课,包括讲座、小组活动等。

    • 我会努力把所有的讲座录下来,以便以后通过酒井/Panopto观看。此外,一些预先录制的视频可以通过Panopto获得。

    • 为了获得小组活动或其他课内活动的积分,您需要在课堂时间内(亲自或远程)参与或在课外补习。

    • Estimated workload: 9 to 12 hours per week including class time.

  • Class time and location (fall 2023): 星期二16:15-18:45在Cuneo 002,LSC

  • Communication: 关于这门课的所有交流都在课堂(口头)和微软团队(书面)进行。大多数人将在团队级别的渠道中特定于本学期。对于个人或组级别的问题,您可以在MS团队中使用直接的个人或组消息;我的用户ID是 klaufer@luc.edu(To help me prioritize your class-related communication, please DO NOT use email!)

  • Instructor: Konstantin Läufer | GitHub | Google Scholar | Rate My Prof

  • TA: 乔治·黑山

  • Office hours:

    • 星期二18:45-19:15在Cuneo 002外或Cuneo 003内(课后,无需预约)

    • 周三和周五14:00-15:45在Doyle Hall 203或在线 (by appointment via Calendly )

    • TA办公时间待定

  • Required materials:

  • 其他资源: 附录:资源

  • Grading:

    添加剂 point 系统:

    • 21分: quizzes 0 3,1-3 6各

    • 24分:2分 tests ,各12个

    • 37分ug/44分: projects 0a 2,0b 3,1a和2a/b 6,3a/b 7,3c 7(研究生必修) (Percentage effort on each group project will be measured by an end-of-term questionnaire. Group project grades and/or final course grades may be adjusted to account for significant discrepancies in effort among group members.)

    • 12分:4分 group activities ,各3个

    • 5分: presentation

    • 5分: participation (课堂和在线,包括相关专业活动的公告和报告、GitHub问题和课程示例的PR等)

    • 7分:本科生起跑线

    • 1分额外学分:提交课程评估(提交确认提交的截图)

    • 各种额外信贷机会:项目3c 7(Ug)、项目1b 6(ug/grad)

    Max total: 111 points plus extra credit

    Grading schema (in points):

    • A 100分

    • A-96

    • B+92

    • B 88

    • B-84

    • C+80

    • C 75

    • C-70

    • D+65

    • D 60

    • F<60

  • Academic integrity: LUC | CAS | Grad

  • Sakai site for this section (gradebook)

  • MS Team (mandatory subscription and participation in fall 2023 channel)

  • 测验和测试的重要日期(暂定):

    • 第3周-9月12日星期二:测验0

    • 第5周-9月26日星期二:测验1

    • 第七周-10月10日星期二: NO CLASS (fall break)

    • 第8周-10月17日星期二:测试1

    • 第10周-10月31日星期二:测验2

    • 第11周-11月3日星期五: last day to withdraw with W instead of WF

    • 第12周-11月14日星期二:测试2

    • 第13周-11月21日星期二: ONLINE SESSION (Thanksgiving break), details TBA

    • 第16周(决赛周)-12月12日星期二: quiz 3 followed by class session

  • Recording of class meetings: 在本课程中,将使用软件来现场录制课堂讨论。作为本班的一名学生,您参与现场课堂讨论的情况将被记录下来。这些录音将只提供给注册了课程的学生,以帮助那些不能参加现场课程的人,或者作为那些想要回顾所展示内容的人的资源。课程结束后,课堂上的学生将无法使用所有录音。所有录像的使用将与如下所示的大学隐私声明保持一致。

  • 隐私声明: 在参与在线和面对面教学活动的教职员工和学生之间确保隐私,有助于促进开放和有力的对话,并缓解人们对课堂上发表的评论将被分享到课堂之外的担忧。因此,在线或面授课程中的教学活动录音仅可供注册该课程的教师和学生用于内部课堂目的,并且只能在课程提供期间使用。学生将通过课程大纲中的一项声明被告知此类录音,这些录音将被记录在该课程中。如果教师希望随后使用包含学生活动的录音,则只有在相关学生知情的书面同意下,或者如果从录音中删除了所有学生活动,教师才可以这样做。教师可以保留包括教师发起的学生活动在内的录音,仅供个人使用。

11.3. 章节:001 Fall 2022

  • General format:

    • 这是一个 on-campus ,面对面授课,包括讲座、小组活动等。

    • 我会努力把所有的讲座录下来,以便以后通过酒井/Panopto观看。此外,一些预先录制的视频可以通过Panopto获得。

    • 为了获得小组活动或其他课内活动的积分,您需要在课堂时间内(亲自或远程)参与或在课外补习。

    • Estimated workload: 9 to 12 hours per week including class time.

  • Class time and location (fall 2022): 星期二16:15-18:45在SES 122,LSC

  • Communication: 关于这门课的所有交流都在课堂(口头)和微软团队(书面)进行。大多数人将在团队级别的渠道中特定于本学期。对于个人或组级别的问题,您可以在MS团队中使用直接的个人或组消息;我的用户ID是 klaufer@luc.edu(To help me prioritize your class-related communication, please DO NOT use email!)

  • Instructor: Konstantin Läufer | GitHub | Google Scholar | Rate My Prof

  • TA: 阿尔瓦罗·德·兰达卢斯

  • Office hours:

    • SES 122星期二18:45-19:15(课后,无需预约)

    • 清华Cuneo馆104场18:45-18:55(课后,无需预约)

    • 周三和周五13:30-15:30在Doyle Hall 203或在线 (by appointment via Calendly )

    • TA办公时间待定

  • Required materials:

  • 其他资源: 附录:资源

  • Grading:

    添加剂 point 系统:

    • 21分: quizzes 0 3,1-3 6各

    • 24分:2分 tests ,各12个

    • 44分ug/50分: projects 0a 2,0b 3,1a和2a/b 6,3a-c 7,1b 6 (Percentage effort on each group project will be measured by an end-of-term questionnaire. Group project grades and/or final course grades may be adjusted to account for significant discrepancies in effort among group members.)

    • 6分:2分 group activities ,各3个

    • 5分: presentation

    • 5分: participation (课堂和在线,包括相关专业活动的公告和报告、GitHub问题和课程示例的PR等)

    • 6分:本科生起跑线

    • 1分额外学分:提交课程评估(提交确认提交的截图)

    • 各种额外的学分机会

    Max total: 111 points plus extra credit

    Grading schema (in points):

    • A 100分

    • A-96

    • B+92

    • B 88

    • B-84

    • C+80

    • C 75

    • C-70

    • D+65

    • D 60

    • F<60

  • Academic integrity: LUC | CAS | Grad

  • Sakai site for this section (gradebook)

  • MS Team (mandatory subscription and participation in fall 2022 channel)

  • 测验和测试的重要日期(暂定):

    • 第二周-9月6日星期二: ONLINE CLASS, details TBA

    • 第三周-9月13日星期二:测验0

    • 第5周-9月27日星期二:测验1

    • 第七周-10月11日星期二: NO CLASS (fall break)

    • 第8周-10月18日星期二:测试1

    • 第10周-11月1日星期二:测验2

    • 第11周-11月4日星期五: last day to withdraw with W instead of WF

    • 第12周-11月15日星期二:测试2

    • 第13周-11月22日星期二: ONLINE CLASS (Thanksgiving break), details TBA

    • 第16周(决赛周)-12月13日星期二: quiz 3 followed by class session

  • Recording of class meetings: 在本课程中,将使用软件来现场录制课堂讨论。作为本班的一名学生,您参与现场课堂讨论的情况将被记录下来。这些录音将只提供给注册了课程的学生,以帮助那些不能参加现场课程的人,或者作为那些想要回顾所展示内容的人的资源。课程结束后,课堂上的学生将无法使用所有录音。所有录像的使用将与如下所示的大学隐私声明保持一致。

  • 隐私声明: 在参与在线和面对面教学活动的教职员工和学生之间确保隐私,有助于促进开放和有力的对话,并缓解人们对课堂上发表的评论将被分享到课堂之外的担忧。因此,在线或面授课程中的教学活动录音仅可供注册该课程的教师和学生用于内部课堂目的,并且只能在课程提供期间使用。学生将通过课程大纲中的一项声明被告知此类录音,这些录音将被记录在该课程中。如果教师希望随后使用包含学生活动的录音,则只有在相关学生知情的书面同意下,或者如果从录音中删除了所有学生活动,教师才可以这样做。教师可以保留包括教师发起的学生活动在内的录音,仅供个人使用。

11.4. 章节:001 Fall 2021

  • General format:

    • 这是一个 on-campus ,面对面授课,包括讲座、小组活动等。

    • 我会努力把所有的讲座录下来,以便以后通过酒井/Panopto观看。此外,一些预先录制的视频可以通过Panopto获得。

    • 为了获得小组活动或其他课内活动的积分,你需要参加课堂或弥补课外的工作。

    • Estimated workload: 9 to 12 hours per week including class time.

  • Class time and location (fall 2021): 星期二17:30-20:00在LSC Cuneo Hall 217

  • Communication: 关于这门课的所有交流都在课堂(口头)和微软团队(书面)进行。大多数人将在团队级别的渠道中特定于本学期。对于个人或组级别的问题,您可以在MS团队中使用直接的个人或组消息;我的用户ID是 klaufer@luc.edu(To help me prioritize your class-related communication, please DO NOT use email!)

  • Instructor: Konstantin Läufer | GitHub | Google Scholar | Rate My Prof

  • TA: 莫妮卡·西克卢基

  • Office hours:

    • 库内奥217厅周二20:00-20:30

    • 清华皇冠105 20:00-20:30

    • by appointment via Calendly (星期二、清华大学、星期五下午)

    • TA办公时间待定

  • Required materials:

  • 其他资源: 附录:资源

  • Grading:

    加分制度:

    • 21分: quizzes 0 3,1-3 6各

    • 24分:2分 tests ,各12个

    • 44分ug/50分: projects 0a 2,0b 3,1a和2a/b 6,3a-c 7,1b 6 (Percentage effort on each group project will be measured by an end-of-term questionnaire. Group project grades and/or final course grades may be adjusted to account for significant discrepancies in effort among group members.)

    • 6分:2分 group activities ,各3个

    • 5分: presentation

    • 5分: participation (课堂和在线,包括相关专业活动的公告和报告、GitHub问题和课程示例的PR等)

    • 各种额外的学分机会

    Max total: 105 undergraduate / 111 graduate

    Undergraduate grading schema:

    • A 93

    • A-90

    • B+87

    • B 83

    • B-80

    • C+75

    • C 70

    • C-65

    • D+60

    • D 50

    • F<50

    Graduate grading schema:

    • A 98

    • A-95

    • B+92

    • B 88

    • B-85

    • C+80

    • C 75

    • C-70

    • D+65

    • D 55

    • F<55

  • Academic integrity: LUC | CAS | Grad

  • Sakai site for this section (gradebook)

  • MS Team (强制认购和参与)

  • 测验和测试的重要日期(暂定):

    • 第三周-9月14日星期二:测验0

    • 第5周-9月28日星期二:测验1

    • 第七周-10月12日星期二: NO CLASS (fall break)

    • 第8周-10月19日星期二:测试1

    • 第10周-11月2日星期二:测验2

    • 第11周-11月12日星期五: last day to withdraw with W instead of WF

    • 第12周-11月16日星期二:测试2

    • 第13周-11月23日星期二: ONLINE CLASS (Thanksgiving break), details TBA

    • 第16周(决赛周)-12月14日星期二: quiz 3 followed by class session

  • Recording of class meetings: 在本课程中,将使用软件来现场录制课堂讨论。作为本班的一名学生,您参与现场课堂讨论的情况将被记录下来。这些录音将只提供给注册了课程的学生,以帮助那些不能参加现场课程的人,或者作为那些想要回顾所展示内容的人的资源。课程结束后,课堂上的学生将无法使用所有录音。所有录像的使用将与如下所示的大学隐私声明保持一致。

  • 隐私声明: 在参与在线和面对面教学活动的教职员工和学生之间确保隐私,有助于促进开放和有力的对话,并缓解人们对课堂上发表的评论将被分享到课堂之外的担忧。因此,在线或面授课程中的教学活动录音仅可供注册该课程的教师和学生用于内部课堂目的,并且只能在课程提供期间使用。学生将通过课程大纲中的一项声明被告知此类录音,这些录音将被记录在该课程中。如果教师希望随后使用包含学生活动的录音,则只有在相关学生知情的书面同意下,或者如果从录音中删除了所有学生活动,教师才可以这样做。教师可以保留包括教师发起的学生活动在内的录音,仅供个人使用。

11.5. 栏目:001/002 2020年秋季

  • General format: This is an online "flipped" class.

    • 每周大约90分钟的课堂时间将由预先录制的视频组成;我将很快提供更多关于这些视频的细节。

    • 剩下的60分钟将包括两个同步的、交互式的Zoom会议,您需要参加其中至少一个;我将很快在MS团队中提供这些会议的链接(见下文)。

  • 上课时间(2020年秋季): 您应该至少参加其中一个同步的交互式会议。微软团队很快就会提供缩放链接。

    • 主同步会话:缩放时星期二19:00-20:00

    • 备用同步会话:缩放时星期二14:00-15:00

  • 交流: 所有关于这门课的交流都在Zoom(口头)和MS团队(书面)中进行。大多数将在本学期特定的团队级渠道中进行。对于个人或组级别的问题,您可以在MS团队中使用直接的个人或组消息;我的用户ID是 klaufer@luc.edu(请不要使用电子邮件!)

  • 教师: Konstantin Läufer

  • 办公时间: 周三13:45-14:45和周五10:30-11:45缩放(建议预约),其他时间可根据要求提供

  • TA: 玛雅·戈卡尔-卡波斯

  • 办公时间: 星期二10-11:15和星期三10:15-11:30

  • 所需文本:

    不耐烦的Scala,第二版
    作者:凯·S·霍斯特曼(Cay S.Horstmann)
    出版商:Addison-Wesley Professional
    酒吧。日期:2016年12月15日
    网址:isbn-13:978-0-13-454062-7
    打印isbn-13:978-0-13-454056-6
    在Android中管理移动用户界面中的并发性
    作者:康斯坦丁·勒费尔(Konstantin Läufer),乔治·K·特里鲁瓦图卡尔
    出版商:斯普林格
    上映日期:2018年
    ISBN978-3-319-93109-8
  • 其他资源: 附录:资源

  • 评分(暂定):

    • 45%的测验和测试

    • 50%的项目和演示文稿 (Percentage effort on each group project will be measured by an end-of-term questionnaire. Group project grades and/or final course grades may be adjusted to account for significant discrepancies in effort among group members.)

    • 5%的参与率(课堂和在线,包括相关专业活动、GitHub问题和PR的公告和报告,以获取课程示例等)

  • Ground rules

  • Sakai site for this section (gradebook)

  • MS Team (强制认购和参与)

  • 带回家测验和测试的重要日期(暂定):

    • 第4周-9月14日星期一:测验1

    • 第7周-10月5日星期一:测试1

    • 第10周-10月26日星期一:测验2

    • 第13周-11月16日星期一:测试2

    • 第16周(期末考试周)-12月4日周五可用,12月9日星期三到期:测验3

  • Zoom班级会议录音: 在这堂课上,我们将使用软件来现场录制课堂讨论。作为这门课的一名学生,您参与现场课堂讨论的情况将被记录下来。这些录音将只提供给注册了课程的学生,以帮助那些不能参加现场课程的人,或者作为那些想要回顾所展示内容的人的资源。课程结束后,课堂上的学生将无法使用所有录音。所有录像带的使用将与下面所示的大学隐私声明保持一致。

  • 隐私声明: 在参与在线和面对面教学活动的教职员工和学生之间确保隐私,有助于促进开放和有力的对话,并缓解人们对课堂上发表的评论将被分享到课堂之外的担忧。因此,在线或面授课程中的教学活动录音仅可供注册该课程的教师和学生用于内部课堂目的,并且只能在课程提供期间使用。学生将通过课程大纲中的一项声明被告知此类录音,这些录音将被记录在该课程中。如果教师希望随后使用包含学生活动的录音,则只有在相关学生知情的书面同意下,或者如果从录音中删除了所有学生活动,教师才可以这样做。教师可以保留包括教师发起的学生活动在内的录音,仅供个人使用。

待处理

修复 download from Lightbend

11.6. 部分:2019年秋季001

  • 上课时间和地点(2019年秋季) :LSC Cuneo Hall 302:Tue 16:15-18:45

  • 教师: Konstantin Läufer

  • 办公时间: 星期二/清华14:00-15:00,Doyle Hall 201室(6号楼, this map of Lake Shore Campus ),并以预约方式

  • TA: 艾伦·米勒

  • 办公时间: 周三12:00-16:00在Doyle Hall 308房间

  • Required text: Scala for the Impatient, Second Edition By: Cay S. Horstmann Publisher: Addison-Wesley Professional Pub. Date: December 15, 2016 Web ISBN-13: 978-0-13-454062-7 Print ISBN-13: 978-0-13-454056-6 access free on Safari and/or download from Lightbend

  • 其他资源: 附录:资源

  • 评分(暂定):

    • 45%的测验和测试

    • 50%的项目和演示文稿 (Percentage effort on each group project will be measured by an end-of-term questionnaire. Group project grades and/or final course grades may be adjusted to account for significant discrepancies in effort among group members.)

    • 5%的参与率(课堂和在线,包括相关专业活动、GitHub问题和PR的公告和报告,以获取课程示例等)

  • Ground rules

  • Sakai site for this section (gradebook)

  • Slack team (强制订阅)

  • 重要日期(暂定):

    • 9月17日星期二:测验1

    • 10月1日星期二:测试1

    • 10月8日星期二:没有秋季休息时间

    • 10月22日星期二:测验2

    • 11月12日星期二:测试2

    • 12月10日星期二 16:15-17:15 :测试3

11.7. 章节:2018年秋季001

  • 教师: Konstantin Läufer

  • 上课时间和地点(2018年秋季) :Tue和清华13:00-14:15在LSC库内奥厅202

  • 办公时间: 周二/清华14:30-15:30和清华10:00-11:00在Doyle Hall 201室(6号楼, this map of Lake Shore Campus ),并以预约方式

  • Required text: Scala for the Impatient, Second Edition By: Cay S. Horstmann Publisher: Addison-Wesley Professional Pub. Date: December 15, 2016 Web ISBN-13: 978-0-13-454062-7 Print ISBN-13: 978-0-13-454056-6 access free on Safari and/or download from Lightbend

  • 其他资源: 附录:资源

  • 评分(暂定):

    • 45%的测验和考试

    • 50%的项目和演示文稿 (Percentage effort on each group project will be measured by an end-of-term questionnaire. Group project grades and/or final course grades may be adjusted to account for significant discrepancies in effort among group members.)

    • 5%的参与率(课堂和在线,包括相关专业活动、GitHub问题和公关的公告和报告、课程示例、课程评估等)

  • Ground rules

  • Sakai site for this section (gradebook)

  • Slack team (强制订阅)

  • 重要日期:

    • 清华9月20日:小考1

    • 清华大学10月4日:考试1

    • 10月9日星期二:没有秋季休息时间

    • 清华10月25日:小考2

    • 清华大学11月15日:考试2

    • 11月20日星期二:远程讲座/办公时间

    • 12月14日星期五 13:00-14:00 :测试3

11.8. 章节:001 2018年春季

  • 教师: Konstantin Läufer

  • 上课时间和地点(2018年春季) :Tue和清华08:30-09:30在LSC Cuneo大厅103

  • 办公时间: 清华09:45-11:00多伊尔厅202室(6号楼, this map of Lake Shore Campus ),并以预约方式

  • Required text: Scala for the Impatient, Second Edition By: Cay S. Horstmann Publisher: Addison-Wesley Professional Pub. Date: December 15, 2016 Web ISBN-13: 978-0-13-454062-7 Print ISBN-13: 978-0-13-454056-6 available free on Safari

  • 其他资源: 附录:资源

  • 评分(暂定):

    • 45%的测验和考试

    • 50%的项目和演示文稿 (Percentage effort on each group project will be measured by an end-of-term questionnaire. Group project grades and/or final course grades may be adjusted to account for significant discrepancies in effort among group members.)

    • 5%的参与率(课堂和在线,包括相关专业活动、GitHub问题和PR的公告和报告,以获取课程示例等)

  • Ground rules

  • Sakai site for this section (gradebook)

  • Slack team (强制订阅)

  • 重要日期:

    • 清华2月8日:小考1

    • 2月20日星期二:测试1

    • 3月6日星期二:不上课-春假

    • 清华3月8日:不上课-春假

    • 清华3月22日:小考2

    • 清华大学4月12日:考试2

    • 5月5日星期六 09:00-10:00 :测试3

11.9. 章节:001 2017年春季

  • 教师: Konstantin Läufer

  • ** :LSC蒙德莱恩中心607号星期二14:45-17:15

  • 办公时间: 星期二17:15-18:00在LSC的Mundelein Center 607,可预约

  • Required text: Programming in Scala, Third Edition By: Martin Odersky; Lex Spoon; Bill Venners Publisher: Artima Press Pub. Date: April 28, 2016 ISBN-10: 0-9815316-8-7 ISBN-13: 978-0-9815316-8-7 available free on Safari

  • 评分(暂定):

    • 45%的测验和考试

    • 50%的项目和演示文稿 (Percentage effort on each group project will be measured by an end-of-term questionnaire. Group project grades and/or final course grades may be adjusted to account for significant discrepancies in effort among group members.)

    • 5%的参与率(课堂和在线,包括相关专业活动、GitHub问题和PR的公告和报告,以获取课程示例等)

  • Ground rules

  • Sakai site for this section (gradebook)

  • Slack team (强制订阅)

  • 重要日期

    • 2月7日星期二:测验1

    • 3月7日星期二:不上课-春假

    • 3月14日星期二:测试1

    • 4月4日星期二:测验2

    • 4月18日星期二:测试2

    • 5月2日星期二 16:15-18:15 :测试3

11.10. 详细的课程大纲

  • 业务和软件工程背景(1周)

    • 软件要求

      • 功能需求

      • 非功能需求

    • 发展过程

      • 测试

      • 重构

      • 自动化

    • 设计原则和模式

      • 关注点分离

      • 参数化性

      • SOLID

      • 戈夫/波萨

  • 命令式和面向对象编程(2周)

    • 控制台应用程序

    • 恒定空间复杂性

    • 测井

    • 领域建模

    • 使用特征实现模块化和依赖项注入

  • 函数式编程(4周)

    • 定义代数数据类型

      • 标量:枚举

      • 次线性结构:数字,选项

      • 线性结构:列表、地图

      • 非线性结构:树

    • 在代数数据类型上实现行为

      • 模式匹配

      • 递归

    • 高阶函数

    • 预定义类型及其行为

    • 递归模式

    • 更高级的类型

  • 编程语言表示和解释/执行(4周)

    • 语言设计空间

    • 扫描仪(词法分析器)

    • 解析器(语法分析器)

    • 解释器和编译器

    • 特定于领域的语言

  • 并发和并行编程(3周)

    • 并行集合

    • 期货和承诺

    • 进度报告和取消

    • 异步编程/反应式扩展(Rx)

    • 先进机制

      • 显式线程

      • 演员

      • 软件事务存储器

      • 任务并行库

      • 函数式数据结构

11.11. 关键资源