CINXE.COM

Just a moment...

<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;max-width:60rem;padding-left:1.5rem}@media (width <= 720px){.main-content{margin-top:4rem}}.h2{font-size:1.5rem;font-weight:500;line-height:2.25rem}@media (width <= 720px){.h2{font-size:1.25rem;line-height:1.5rem}}#challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+);background-repeat:no-repeat;background-size:contain;padding-left:34px}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}}</style><meta http-equiv="refresh" content="120"></head><body class="no-js"><div class="main-wrapper" role="main"><div class="main-content"><noscript><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></noscript></div></div><script>(function(){window._cf_chl_opt={cvId: '3',cZone: "cse.engin.umich.edu",cType: 'non-interactive',cRay: '8ec7dc954bc9eba1',cH: '7viUxp22PGmCo5eaJVayLvqa6rl2fcUIJywxTXs12eU-1733274048-1.2.1.1-yiMW9KzT6QACA865VsyuiFXgFflMxe_Ao8hW0mCeH3pJbNz6uBArH4HQqkncuLO1',cUPMDTk: "\/academics\/undergraduate\/programs\/computer-science-eng\/?__cf_chl_tk=0EAaAsh6HhmQyuyGA.plcRwbki.kNMuMdlH8lAZYwwI-1733274048-1.0.1.1-kk9qbmcbarjqP1HjZTQvCrHJzCXhFm_wl3D_AyMjV_Q",cFPWv: 'b',cITimeS: '1733274048',cTTimeMs: '1000',cMTimeMs: '120000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/academics\/undergraduate\/programs\/computer-science-eng\/?__cf_chl_f_tk=0EAaAsh6HhmQyuyGA.plcRwbki.kNMuMdlH8lAZYwwI-1733274048-1.0.1.1-kk9qbmcbarjqP1HjZTQvCrHJzCXhFm_wl3D_AyMjV_Q",md: "ABqz.6dOb3GR8HXVTYmGZrvnfZSHldj6eKYeGOFJjws-1733274048-1.2.1.1-L8GpmUO4N9R1PRKLKRYrmxrzCj_Hq7g3GMxNLS49uZRhu_mJzmZ2adjIuKsk3tPujZp1ED.1VLVhLcCTW7k1S4Yo6HUyFtxNlLn0WWgnCge85Yjs.enmtw2c00ce95gWH869.suicBnXMhRckK5eXZJySqeFM9ujWYuZ1VDs0qJbXIbq6QzdqSYoCL6Z8jwnvRvwqW6fo30LvwytJp3.6XIWK5igw0kEyNcKPcivLVfAle.HGHi2PaHaNy6IXvIo7bpHqBxFtAiN2alB3PJUucyDgQYzKIIxAKuUMcoH.C8fReJAU7lNB.269zVmK5PaoCLezwqk9RPwY6GDYXH2nMWozG7gE98sNpGJIAlz9S4DCTCF6QwGJLa8t1QfkVq2xQubwNCtKtrq_Lnir9b8kGwQXL.gJiHEBsNHPGG.vCXShV52HMq87Ft6s7kQYBU9sifbrOhipsM0htJQuP2g7B4QEmamXK8N0ABot8vZAlwm5iy64TKsFtVO7x_yXaHlF4ufFy46nyxMyLzNqd2lvM76Fym9X_HzkvVt5Ytk_z28hPJBUH9745Es0qmGdrOTAhxrDwJevZqQXgSs6V_8KhhyYxp80hxodlNYEsyBBKyZWMtezOfF0OTfI4MJ37.6TxGUfsRR6yTHmzfesWMIuTXEpxPkVCoA5le6HDzvnAMWyktmyCA6whWRQHs8K2kqe9BSYSafB_4Cu_nwNnxrPcHF6aTwF59CdHzXr0oF0EwRtlKH9LGXFAV4I3qg1m5AkfyVUwkn2Sb9r4F6FD0GZN3e8a2Z0ycQ4WQTlp29VTM67ICJSyfoEVr399mDnOQyIeje7rotgJ.EtyJGBqs9NY2VzAWoKcnM5mm5akC55QwhJnLrp44.cLAU_nNyLhfSPHZsq7prjU0lOMo50JI1IC5JuC14AakFqWnTesj5loWsmZXpComqHqbTLSWPgH14T0pI7T1m.J.zttaJJSuUU.Qc9FaViGtpEd3jo.rz2tqpOEUgMCXNsUKRLowPLnVIbMjum13BK730O4FVS6RzKmUXMnvx808OgQGQoeN9mVmhtWjbIA5tGSxRONYdNQe7tdAFL.VHjeguvqaC9zU_jRtyXaeJyUiSzKXWI9.phb3AqaZJ0mtPJ62b1Adf2__SNGOxonihviByIXq0M_HYibm9Cpmfbgw9d2fFL5kXj7mKqXPVY7t4kSTYeF.Rqz_IZqxuT8S96jugdGSVALYnfJH21CXqpeSt3NfXCJGAhdUA.afFCiq.2IKSbQbPfcIxQSawWcudcg0jLWDCeG0VAtHYozZjIfPsPpsh8lZgUk5CnzjBmuf01GNsHmtILrk5CAauQRKkB2sfKL3w_D98bt7C1QruJsEcCraoYuphZcdO1elVgud.4x21Zqx.UOdFuc_Nqq1t8ho0jeimwL_2pvsQHUrjpuhk4rQwJYvSNKN8eNN46Rnitqmp0W6ae2vodvuHcPHyYd.ll3pD7nnwrX.vOAP4cAAIi6b8TMZCNk87N36Fi1P.oEfhWh3mA_fZmPrNii4odU9WCnYM6pFPT1684Go0MLL4aBojUrSEmaHpqxHlgljgENR9oAIcYwMky1.yDU5KvCTfZkUAYodN.OSzL2bvr1YkNw_VdScSwsnGOqne31kAcpg0dn902qzWuW_XFYoBnwCAkurdsenCvkb5P.smzGrL6wEYEFAT_1QuoMaHyetpvvkzYLXpM_BEWMGN8m1FkIdBFEejwWOpWgBlqXz_Fzjt.5WavVAJ25SpmHdSbAAOkUTzkvql1_hC5o2BByqKVWSDa0N1et41OPpcXaduDHjMqa5mRThMBH45Dcdtz7pSXLAIYvRKAbEfpkqxEDA9YacX.YdMKmtGhOtNxGQRtbzT2y7_Sonh_HUqSiFgxohsT.lpF4urQodk29SKYAagN2UamywwrViBxIwKnDRl9BJnStqLm2ro4A63hH87NKb0m6VWA6Urqgy47L_yc_SzSFph4XKciYDSRv5.BLjuVtLjUqmRsjhZFjo3EKKDdCFzRrM7kV0M1.KpRsHUZCBynC3uHBLRbwtydgUoC1FtvhgPTCcwIx8ufXGeaavidSVdz3iXTZnAjElo0ceXynCKt9fppwJAzNG6ygiINVtCFAFSfdSj2ec.S6lfY1iZd27mtdZpA0frDmFTZJEqRsPK_ptpoI9UK.KS8Vlf8Ca0lRHs375Rw.03hA6ekYG8dsdgPyqGQNadGoBD2HFclYoI55mz8USDN5LHUg",mdrd: "jYE4zFQm2uS4OpysmCJGb46sfcO9lLkuWzrxSxLEZ7Y-1733274048-1.2.1.1-vtt3dbjZe9ODDQnEAvulXE9R3yLFRS8nerRf_XVRuG9f47WaiUkURA2VAVkRDP8Ht5Lq83vYktCNCeB9oDr7W0VTGZHJ1j_lFdInYyGo9cxutGfXQQwU1UetexbkJwvL9sg66QbArI_q9ZDI90cSi_di1ER73OfDm3px8lNYA6y0KtzOQZtaw5ENsbR2jYcoUcLEIp63xAUMyKVDLiYv_zlz0BAk3tgq82cvK.IJ9YTBbdihWDSQ1G_6ADr541h7kshj8Bei.iGHHrMF_b7voA4s6Zoq2.KTy2avG99fLz0I_GsnkNx3vma1Sgxg3Ubu0xStabWtcnWCpQNjZl0J6aByw.yIz5g..YXP.wAVkr0h_Kvou725Kdg6k5i7CoKEhXzNBIaoWIY8xG90MIzxkOgqnby24cTiG2OD37FArLfU71s_hL8cWftnaxLw93tdLiG6r1fbB5n13V6bqndhMM7AehbC3Mk0b.vV9_Nkwj9lTeIGP38naFyO0v8VWMNnJ6VYXfX.esh8fh.OdHEJyR8p0zY2re5qXEK4vXQO9ogxRAILffrhJkGDTyu6QxRxrNv_jpt9Gmz96QPtnxEEN5oBNayJRBxnsa9oNpTmJOZNlEwZ2ZsbtT6EyE8ciFaEguCfoe5o05cvE_7moc6kiKGNhSqT_VtD1sRhiPjzeXstovQp_E.angY9AlE.9dgFHL22JSzl6q5_1lb1zhpV3hwELOYgR7vtSLksOW15Tqw9IcyGmqGdnNEoqxZoXcF9BSKarjEjO6b.v2MkdTzg6q4Cl0TAAdr_Z8rfvqWKku96Q_qBib.Rmyqyc.5QjjEfqUpYLomAg7lsBA658d7X6LfQv_Rebg_LXIcCryuGlISNs7U6p_hqoHo.XigQrVKlpjAtY0n0IcYsdTQsasOwtgevGvpmbWfbBVqr5GcES1t4BQC3gn7aUTXBeBwYcYDeDh_KmzsAzR91aFCKsrkhPsdKoJHDJFGIe2bN2J6sEjtuwlAb9MkiYTWMyihBAaAiysUKU.X7RdYH0_kfnOpsPE_KKhldvNg_5Za0nzG2ktPp4pjIci0_dlfSFhkJY8TDfJX._h6HTAAGHAZ7frUW2cCXIcb5TnRAZhSAk_lIIU8fbf5P4xSC.KYxTLnnsLwZkUUOTcqjOWyv.FoA1opfoHX6uNw3tjcIiEJ4.mYXPeImtePsKwy8XonuS_6kqH53mt7dlhueoCq.yUlYEeaczcWoBockxhVSQ7STq9mAvqePFvYLGW9vxmddLfZsByhnCUccE5wF6_VT9C9Z3w9lgyT9kpeU0afEqp.vNBHHNKPOcLBHmI5cS0rjtEgEedlA3AhIah9PtrL6gVz4bMDZPUwlRvegQn74cM98htOH5sIttAaKTbladf_LVuRcXVbylr63hURLUmRokCkJy9Zq_aVyHyc16ule2N_KTCQT1FKZ6dpXbwPe0vwgvKrP3JM8Ep3EecVjinVMx4sQrrMbFmOJ5pTtIGvqUWOCf5lWJY4BIRkFCShXSDryox3nZtiL_OY.Wo5BRTR3kLyv1bgYfdQbMWnBxK8jLPZAyGd1cvfFoc7pzfsl8D3UDyqFTNs4ItanPF9uG_UDiKoCPLRE18ziCpunsFBP9jjFklgQC_FRWfPZOXlik9hvPwxaj0XAgm8j0tdqI4ZV9lRdoH9LE5.A5mLJIXzyRPfBmFyk__6uB9zL1Se4GFYG.v0W80OEw_2o6yDrnf1D5.sFqZBW8JCoiagJk.Pzmb0lcSeQo.EMyXQUgypXN8v9V7iEZLQeIz03ST_WmaNQwcNVl.Ulgi_UJSfzC8cpHGPkEkwQ_Y2VZSFSULokz1lQUTCrFY31SbDi6J9CFKK6rSqW7w3OWOPQvUpDWh5cW8BQZilGZ5sWsTGe3ouF3H4RVfN_pY9hnd5lZwPOH_MkcOsM7gG3X5.IPk6JJ_rOh1j9m2jUIJ0GESSk7DX8CKgKaQy5SBkz"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=8ec7dc954bc9eba1';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/academics\/undergraduate\/programs\/computer-science-eng\/?__cf_chl_rt_tk=0EAaAsh6HhmQyuyGA.plcRwbki.kNMuMdlH8lAZYwwI-1733274048-1.0.1.1-kk9qbmcbarjqP1HjZTQvCrHJzCXhFm_wl3D_AyMjV_Q" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>