WClasses

ECE 351 - Compilers

Programming paradigms, compilation, interpretation, virtual machines. Lexical analysis, regular expressions, and finite automata. Parsing, context-free grammars, and push-down automata. Semantic analysis, scope and name analysis, type checking. Intermediate representations. Control flow. Data types and storage management. Code generation.

Prerequisites

(One of BME122, ECE250, MSE240, MTE140, SYDE223); One of CS245/CS245E, ECE208 or SE212

Corequisites

None

Antirequisites

None

Offerings

Fall 2025 [1259]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 2015521239 / 268
LEC 0015359130 / 13413:00 - 14:20 W,Th
LEC 0025423109 / 13408:30 - 09:50 Th
TUT 1015360126 / 13419:00 - 19:50 T
TUT 1025424113 / 13408:00 - 08:50 T

Winter 2024 [1241]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 00190960 / 1

Fall 2023 [1239]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 2015620274 / 296
LEC 0015383141 / 14808:30 - 09:50 M,F
LEC 0025461133 / 14813:30 - 14:50 W,Th
TUT 1015384136 / 14811:30 - 12:20 T
TUT 1025462138 / 14811:30 - 12:20 Th

Fall 2022 [1229]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 20110850295 / 296
LEC 0015973147 / 14812:30 - 13:50 M,FE7 4043Arie Gurfinkel
LEC 0026338148 / 14812:30 - 13:50 W,ThE7 4053Arie Gurfinkel
TUT 1015975148 / 14819:00 - 19:50 ME7 4043
TUT 1026339147 / 14819:00 - 19:50 TE7 4053

Fall 2021 [1219]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201906785 / 100
LAB 202906840 / 100
LAB 203906918 / 100
LAB 20411189124 / 300
LEC 0019063143 / 30010:00 - 11:20 M,F Arie Gurfinkel
LEC 00211187124 / 30010:00 - 11:20 M,F Arie Gurfinkel
TUT 101906523 / 5015:30 - 16:20 ThE7 4043
TUT 102906640 / 5013:30 - 14:20 ThE7 4417
TUT 103906432 / 5016:30 - 17:20 ThE7 5343
TUT 10411188124 / 300
TUT 105117830 / 50
TUT 1061178448 / 5015:30 - 16:20 TSTC 0060
TUT 107117850 / 50

Spring 2020 [1205]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201309823 / 41
LAB 202314519 / 41
LAB 203314624 / 41
LAB 204314740 / 41
LAB 205314838 / 41
LAB 206314939 / 41
LEC 001309666 / 134 Reza Babaee Cheshmeahmadrezaee
LEC 0023321117 / 134 Reza Babaee Cheshmeahmadrezaee
TUT 101309766 / 134
TUT 1023322117 / 134

Winter 2020 [1201]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201481036 / 4015:00 - 16:20 TE2 2356A
LAB 202483441 / 4015:00 - 16:20 WE2 2356A
LAB 203483537 / 4015:00 - 16:20 ThE2 2356A
LEC 0014781114 / 12010:00 - 11:20 M,FE7 4053Arie Gurfinkel
TUT 1014782114 / 12008:30 - 09:50 WE7 4053

Spring 2019 [1195]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201312715 / 4015:00 - 16:20 TE2 2356AEric Praetzel
LAB 202317918 / 4015:00 - 16:20 WE2 2356AEric Praetzel
LAB 203318022 / 4015:00 - 16:20 ThE2 2356AEric Praetzel
LAB 204318138 / 4010:00 - 11:20 TE2 2356AEric Praetzel
LAB 205318232 / 4010:00 - 11:20 WE2 2356AEric Praetzel
LAB 206318336 / 4010:00 - 11:20 ThE2 2356AEric Praetzel
LEC 001312555 / 12012:00 - 13:20 M,FE7 5353Derek Rayside
LEC 0023388106 / 12012:00 - 13:20 M,FE7 5353Derek Rayside
TUT 101312655 / 12016:30 - 17:20 ThE7 4417
TUT 1023389106 / 12016:30 - 17:20 WE7 4417

Winter 2019 [1191]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201471034 / 4015:00 - 16:20 TE2 2356A
LAB 202473938 / 4015:00 - 16:20 WE2 2356A
LAB 203474038 / 4015:00 - 16:20 ThE2 2356A
LEC 0014681110 / 12010:00 - 11:20 M,FE7 4053Derek Rayside
TUT 1014682110 / 12016:30 - 17:20 ThE7 4053

Spring 2018 [1185]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201307124 / 2615:00 - 16:20 TE2 2356ATiuley Alguindigue
LAB 202313321 / 2615:00 - 16:20 WE2 2356ATiuley Alguindigue
LAB 203313425 / 2615:00 - 16:20 ThE2 2356ATiuley Alguindigue
LAB 204313532 / 4010:00 - 11:20 TE2 2356ATiuley Alguindigue
LAB 205313628 / 4010:00 - 11:20 WE2 2356ATiuley Alguindigue
LAB 206313729 / 4010:00 - 11:20 ThE2 2356ATiuley Alguindigue
LEC 001306970 / 7810:00 - 11:20 M,FRCH 305Vijay Ganesh
LEC 002498889 / 12015:00 - 16:20 M,FRCH 103Vijay Ganesh
TUT 101307070 / 7816:30 - 17:20 ThRCH 305
TUT 102498989 / 12016:30 - 17:20 WDWE 1501

Winter 2018 [1181]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201490237 / 4015:00 - 16:20 TE2 2356ABernard John Eric Roehl
LAB 202493440 / 4015:00 - 16:20 WE2 2356ABernard John Eric Roehl
LAB 203493535 / 4015:00 - 16:20 ThE2 2356ABernard John Eric Roehl
LEC 0014872112 / 12010:00 - 11:20 M,FDWE 1501Derek Rayside
TUT 1014873112 / 12016:30 - 17:20 ThDWE 1501

Spring 2017 [1175]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201309616 / 2315:00 - 16:20 TE2 2363Reza Babaee Cheshmeahmadrezaee
LAB 202316224 / 2315:00 - 16:20 WE2 2363Reza Babaee Cheshmeahmadrezaee
LAB 203316323 / 2315:00 - 16:20 ThE2 2363Reza Babaee Cheshmeahmadrezaee
LAB 204316425 / 2310:00 - 11:20 TE2 2363Reza Babaee Cheshmeahmadrezaee
LAB 205316523 / 2310:00 - 11:20 WE2 2363Reza Babaee Cheshmeahmadrezaee
LAB 206316621 / 2310:00 - 11:20 ThE2 2363Reza Babaee Cheshmeahmadrezaee
LEC 0013094132 / 14010:00 - 11:20 MEIT 1015Vijay Ganesh
TUT 1013095132 / 14016:30 - 17:20 ThEIT 1015

Winter 2017 [1171]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201472032 / 3015:00 - 16:20 TE2 2364Bernard John Eric Roehl
LAB 202475229 / 3015:00 - 16:20 WE2 2364Bernard John Eric Roehl
LAB 203475329 / 3015:00 - 16:20 ThE2 2364Bernard John Eric Roehl
LEC 001468990 / 9010:00 - 11:20 M,FRCH 105Derek Rayside
LEC 00286170 / 1
TUT 101469090 / 9016:30 - 17:20 ThRCH 110

Spring 2016 [1165]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201316431 / 3515:00 - 16:20 TE2 2363
LAB 202323529 / 3515:00 - 16:20 WE2 2363
LAB 20332360 / 115:00 - 16:20 ThE2 2363
LAB 204323729 / 3510:00 - 11:20 TE2 2363
LAB 205323828 / 3510:00 - 11:20 WE2 2363
LAB 20632390 / 110:00 - 11:20 ThE2 2363
LEC 0013162117 / 14010:00 - 11:20 M,FEIT 1015Derek Rayside
TUT 1013163117 / 14016:30 - 17:20 ThEIT 1015

Winter 2016 [1161]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201530125 / 2815:00 - 16:20 TE2 2364
LAB 202533827 / 2815:00 - 16:20 WE2 2364
LAB 203533926 / 2815:00 - 16:20 ThE2 2364
LEC 001526578 / 8410:00 - 11:20 M,FRCH 309Derek Rayside
TUT 101526678 / 8416:30 - 17:20 ThRCH 309

Spring 2015 [1155]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201328422 / 1415:00 - 16:20 TE2 2363
LAB 202336423 / 1415:00 - 16:20 WE2 2363
LAB 20333650 / 1415:00 - 16:20 ThE2 2363
LAB 204336618 / 1410:00 - 11:20 TE2 2363
LAB 205336720 / 1410:00 - 11:20 WE2 2363
LAB 20633680 / 1410:00 - 11:20 ThE2 2363
LEC 001328283 / 9610:00 - 11:20 M,FDWE 3522Derek Rayside
TUT 101328383 / 9616:30 - 17:20 ThRCH 110

Winter 2015 [1151]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201512722 / 3015:00 - 16:20 TE2 2364
LAB 202516724 / 3015:00 - 16:20 WE2 2364
LAB 203516823 / 3015:00 - 16:20 ThE2 2364
LEC 001509069 / 8710:00 - 11:20 M,FEIT 1015Vijay Ganesh
TUT 101509169 / 8716:30 - 17:20 ThEIT 1015

Fall 2014 [1149]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 00188331 / 1

Spring 2014 [1145]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201321814 / 2015:00 - 16:20 TE2 2363
LAB 202332514 / 2015:00 - 16:20 WE2 2363
LAB 203332614 / 2015:00 - 16:20 ThE2 2363
LAB 204332714 / 2010:00 - 11:20 TE2 2363
LAB 205332815 / 1910:00 - 11:20 WE2 2363
LAB 206332913 / 1910:00 - 11:20 ThE2 2363
LEC 001321684 / 11810:00 - 11:20 M,FQNC 1502Vijay Ganesh
TUT 101321784 / 11816:30 - 17:20 TQNC 1502

Winter 2014 [1141]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201505418 / 4015:00 - 16:20 TE2 3353
LAB 202511921 / 4015:00 - 16:20 WE2 3353
LAB 203512018 / 4015:00 - 16:20 ThE2 3353
LEC 001501557 / 12010:00 - 11:20 M,FRCH 103Vijay Ganesh
TUT 101501657 / 12016:30 - 17:20 ThRCH 103

Fall 2013 [1139]

SectionClassEnrolledTimeDaysLocationInstructor
LEC 00183061 / 1

Spring 2013 [1135]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201310714 / 11815:00 - 16:20 TE2 2363
LAB 202547017 / 2015:00 - 16:20 WE2 2363
LAB 203547117 / 2015:00 - 16:20 ThE2 2363
LAB 204547217 / 2010:00 - 11:20 TE2 2363
LAB 205547321 / 1910:00 - 11:20 WE2 2363
LAB 206547417 / 1910:00 - 11:20 ThE2 2363
LEC 0013105103 / 11810:00 - 11:20 M,FRCH 302Derek Rayside
TUT 1013106103 / 11816:30 - 17:20 ThRCH 302

Winter 2013 [1131]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201491919 / 4415:00 - 16:20 TE2 2363
LAB 202766922 / 4415:00 - 16:20 WE2 2363
LAB 203767019 / 4415:00 - 16:20 ThE2 2363
LEC 001486360 / 13213:30 - 14:50 M,FRCH 301Derek Rayside
TUT 101486460 / 13216:30 - 17:20 ThRCH 301

Spring 2012 [1125]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 201464480 / 118
LEC 001464280 / 11813:30 - 14:50 M,FRCH 110Derek Rayside
TUT 101464380 / 11816:30 - 17:20 ThRCH 110

Winter 2012 [1121]

SectionClassEnrolledTimeDaysLocationInstructor
LAB 20177995 / 108
LEC 00172835 / 10813:30 - 14:50 M,FRCH 211Derek Rayside
TUT 10172845 / 10816:30 - 17:20 ThRCH 211

UW Flow Ratings

Liked: 76.34%

76.34%

Easy: 77.27%

77.27%

Useful: 79.55 %

79.55%

ECE 351 leads to