<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@Physical_and_conceptual_models_of_classical_computation">
<h2 class="hd hd-2 unit-title">Physical and conceptual models of classical computation</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2a">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="video" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2a">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Physical and conceptual models of classical computation</h3>
<div
id="video_U1L2a"
class="video closed"
data-metadata='{"ytMetadataEndpoint": "", "speed": null, "savedVideoPosition": 0.0, "end": 0.0, "sources": [], "lmsRootURL": "https://openlearninglibrary.mit.edu", "autoplay": false, "autoAdvance": false, "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "transcriptLanguage": "en", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2a/handler/transcript/available_translations", "completionPercentage": 0.95, "prioritizeHls": false, "poster": null, "generalSpeed": 1.0, "showCaptions": "true", "transcriptLanguages": {"en": "English"}, "captionDataDir": null, "publishCompletionUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2a/handler/publish_completion", "start": 0.0, "streams": "1.00:Kfwqe7lZxtg", "transcriptTranslationUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2a/handler/transcript/translation/__lang__", "completionEnabled": false, "duration": 0.0, "autohideHtml5": false, "saveStateUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2a/handler/xmodule_handler/save_user_state", "ytTestTimeout": 1500, "saveStateEnabled": false}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="U1L2a"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1x">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1x">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@A_brief_introduction_to_computational_complexity">
<h2 class="hd hd-2 unit-title">A brief introduction to computational complexity</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2b">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="video" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2b">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">A brief introduction to computational complexity</h3>
<div
id="video_U1L2b"
class="video closed"
data-metadata='{"ytMetadataEndpoint": "", "speed": null, "savedVideoPosition": 0.0, "end": 0.0, "sources": [], "lmsRootURL": "https://openlearninglibrary.mit.edu", "autoplay": false, "autoAdvance": false, "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "transcriptLanguage": "en", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2b/handler/transcript/available_translations", "completionPercentage": 0.95, "prioritizeHls": false, "poster": null, "generalSpeed": 1.0, "showCaptions": "true", "transcriptLanguages": {"en": "English"}, "captionDataDir": null, "publishCompletionUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2b/handler/publish_completion", "start": 0.0, "streams": "1.00:8EfjJLIeTwE", "transcriptTranslationUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2b/handler/transcript/translation/__lang__", "completionEnabled": false, "duration": 0.0, "autohideHtml5": false, "saveStateUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2b/handler/xmodule_handler/save_user_state", "ytTestTimeout": 1500, "saveStateEnabled": false}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="U1L2b"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box2">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box2">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@CQ_On_computational_complexity">
<h2 class="hd hd-2 unit-title">CQ: On computational complexity</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-complexity">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="True" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="problem" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-complexity">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_u1-2-cq-complexity" class="problems-wrapper" role="group"
aria-labelledby="u1-2-cq-complexity-problem-title"
data-problem-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-complexity" data-url="/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-complexity/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="1"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="u1-2-cq-complexity-problem-title" aria-describedby="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-complexity-problem-progress" tabindex="-1">
Complexity of addition
</h3>
<div class="problem-progress" id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-complexity-problem-progress"></div>
<div class="problem">
<div>
<p>
This is a concept question, provided to double-check your understanding of the previous video clip. </p>
<p>
In lecture, Prof. Chuang briefly described how complexity theory is built on <a href="https://en.wikipedia.org/wiki/Decision_problem" target="_blank">decision problems</a>, originally introduced as the <em>Entscheidungsproblem</em> in 1936. </p>
<p>
Check all of the following which are expressed as decision problems: </p>
<p>
<div class="wrapper-problem-response" tabindex="-1" aria-label="Question 1" role="group"><div class="choicegroup capa_inputtype" id="inputtype_u1-2-cq-complexity_2_1">
<fieldset aria-describedby="status_u1-2-cq-complexity_2_1">
<div class="field">
<input type="checkbox" name="input_u1-2-cq-complexity_2_1[]" id="input_u1-2-cq-complexity_2_1_choice_0" class="field-input input-checkbox" value="choice_0"/><label id="u1-2-cq-complexity_2_1-choice_0-label" for="input_u1-2-cq-complexity_2_1_choice_0" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-complexity_2_1">
<text>Does the 3x3x3 Rubik's cube always have a solution in 10 moves?</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_u1-2-cq-complexity_2_1[]" id="input_u1-2-cq-complexity_2_1_choice_1" class="field-input input-checkbox" value="choice_1"/><label id="u1-2-cq-complexity_2_1-choice_1-label" for="input_u1-2-cq-complexity_2_1_choice_1" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-complexity_2_1">
<text>Given a set of boxes, how many can be packed into a 10x5x7 FedEx truck?</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_u1-2-cq-complexity_2_1[]" id="input_u1-2-cq-complexity_2_1_choice_2" class="field-input input-checkbox" value="choice_2"/><label id="u1-2-cq-complexity_2_1-choice_2-label" for="input_u1-2-cq-complexity_2_1_choice_2" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-complexity_2_1">
<text>What are the prime factors of 1207?</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_u1-2-cq-complexity_2_1[]" id="input_u1-2-cq-complexity_2_1_choice_3" class="field-input input-checkbox" value="choice_3"/><label id="u1-2-cq-complexity_2_1-choice_3-label" for="input_u1-2-cq-complexity_2_1_choice_3" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-complexity_2_1">
<text>Does 1207 have any prime factors larger than 31?</text>
</label>
</div>
<span id="answer_u1-2-cq-complexity_2_1"/>
</fieldset>
<div class="indicator-container">
<span class="status unanswered" id="status_u1-2-cq-complexity_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
</div>
</div></div>
</p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Complexity of addition" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_u1-2-cq-complexity" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_u1-2-cq-complexity">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="u1-2-cq-complexity-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="u1-2-cq-complexity-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="u1-2-cq-complexity-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1xx">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1xx">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@Universality_of_AND_and_NOT_for_boolean_circuits">
<h2 class="hd hd-2 unit-title">Universality of AND and NOT for boolean circuits</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2c">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="video" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2c">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Universality of AND and NOT for boolean circuits</h3>
<div
id="video_U1L2c"
class="video closed"
data-metadata='{"ytMetadataEndpoint": "", "speed": null, "savedVideoPosition": 0.0, "end": 0.0, "sources": [], "lmsRootURL": "https://openlearninglibrary.mit.edu", "autoplay": false, "autoAdvance": false, "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "transcriptLanguage": "en", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2c/handler/transcript/available_translations", "completionPercentage": 0.95, "prioritizeHls": false, "poster": null, "generalSpeed": 1.0, "showCaptions": "true", "transcriptLanguages": {"en": "English"}, "captionDataDir": null, "publishCompletionUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2c/handler/publish_completion", "start": 0.0, "streams": "1.00:o99YHHEURRE", "transcriptTranslationUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2c/handler/transcript/translation/__lang__", "completionEnabled": false, "duration": 0.0, "autohideHtml5": false, "saveStateUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2c/handler/xmodule_handler/save_user_state", "ytTestTimeout": 1500, "saveStateEnabled": false}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="U1L2c"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box3">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box3">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@CQ_Boolean_functions">
<h2 class="hd hd-2 unit-title">CQ: Boolean functions</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-bool-func">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="True" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="problem" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-bool-func">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_u1-2-cq-bool-func" class="problems-wrapper" role="group"
aria-labelledby="u1-2-cq-bool-func-problem-title"
data-problem-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-bool-func" data-url="/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-bool-func/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="1"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="u1-2-cq-bool-func-problem-title" aria-describedby="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-bool-func-problem-progress" tabindex="-1">
How many
</h3>
<div class="problem-progress" id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-bool-func-problem-progress"></div>
<div class="problem">
<div>
<p>
This is a concept question, provided to double-check your understanding of the previous video clip. </p>
<p>
We discussed universality constructions for Boolean circuits, in lecture, but it's also insightful to know how many such circuits exist. </p>
<p>
For example, there are four distinct [mathjaxinline]1[/mathjaxinline]-input Boolean circuits; they are the constant-output circuits producing [mathjaxinline]1[/mathjaxinline] and [mathjaxinline]0[/mathjaxinline], and the identity and NOT gates. </p>
<p>
In general, how many distinct [mathjaxinline]n[/mathjaxinline]-input Boolean circuits are there? </p>
<p>
<div class="wrapper-problem-response" tabindex="-1" aria-label="Question 1" role="group"><div class="choicegroup capa_inputtype" id="inputtype_u1-2-cq-bool-func_2_1">
<fieldset aria-describedby="status_u1-2-cq-bool-func_2_1">
<div class="field">
<input type="radio" name="input_u1-2-cq-bool-func_2_1" id="input_u1-2-cq-bool-func_2_1_choice_1" class="field-input input-radio" value="choice_1"/><label id="u1-2-cq-bool-func_2_1-choice_1-label" for="input_u1-2-cq-bool-func_2_1_choice_1" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-bool-func_2_1">
<text> [mathjaxinline]4n[/mathjaxinline]</text>
</label>
</div>
<div class="field">
<input type="radio" name="input_u1-2-cq-bool-func_2_1" id="input_u1-2-cq-bool-func_2_1_choice_2" class="field-input input-radio" value="choice_2"/><label id="u1-2-cq-bool-func_2_1-choice_2-label" for="input_u1-2-cq-bool-func_2_1_choice_2" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-bool-func_2_1">
<text> [mathjaxinline]2^{2n}[/mathjaxinline]</text>
</label>
</div>
<div class="field">
<input type="radio" name="input_u1-2-cq-bool-func_2_1" id="input_u1-2-cq-bool-func_2_1_choice_3" class="field-input input-radio" value="choice_3"/><label id="u1-2-cq-bool-func_2_1-choice_3-label" for="input_u1-2-cq-bool-func_2_1_choice_3" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-bool-func_2_1">
<text> [mathjaxinline]2^{2^ n}[/mathjaxinline]</text>
</label>
</div>
<div class="field">
<input type="radio" name="input_u1-2-cq-bool-func_2_1" id="input_u1-2-cq-bool-func_2_1_choice_4" class="field-input input-radio" value="choice_4"/><label id="u1-2-cq-bool-func_2_1-choice_4-label" for="input_u1-2-cq-bool-func_2_1_choice_4" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-bool-func_2_1">
<text> [mathjaxinline]2^{2^{2^ n}}[/mathjaxinline]</text>
</label>
</div>
<span id="answer_u1-2-cq-bool-func_2_1"/>
</fieldset>
<div class="indicator-container">
<span class="status unanswered" id="status_u1-2-cq-bool-func_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
</div>
</div></div>
</p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="How many " />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_u1-2-cq-bool-func" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_u1-2-cq-bool-func">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="u1-2-cq-bool-func-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="u1-2-cq-bool-func-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="u1-2-cq-bool-func-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1xxx">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1xxx">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@Thermodynamics_and_computation_-_Maxwells_Daemon">
<h2 class="hd hd-2 unit-title">Thermodynamics and computation - Maxwell's Daemon</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2d">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="video" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2d">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Thermodynamics and computation - Maxwell's Daemon</h3>
<div
id="video_U1L2d"
class="video closed"
data-metadata='{"ytMetadataEndpoint": "", "speed": null, "savedVideoPosition": 0.0, "end": 0.0, "sources": [], "lmsRootURL": "https://openlearninglibrary.mit.edu", "autoplay": false, "autoAdvance": false, "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "transcriptLanguage": "en", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2d/handler/transcript/available_translations", "completionPercentage": 0.95, "prioritizeHls": false, "poster": null, "generalSpeed": 1.0, "showCaptions": "true", "transcriptLanguages": {"en": "English"}, "captionDataDir": null, "publishCompletionUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2d/handler/publish_completion", "start": 0.0, "streams": "1.00:TaCeCRK-6cE", "transcriptTranslationUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2d/handler/transcript/translation/__lang__", "completionEnabled": false, "duration": 0.0, "autohideHtml5": false, "saveStateUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2d/handler/xmodule_handler/save_user_state", "ytTestTimeout": 1500, "saveStateEnabled": false}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="U1L2d"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box4">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box4">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@Szilards_engine_and_Landauers_exorcism_of_Maxwells_Daemon">
<h2 class="hd hd-2 unit-title">Szilard's engine and Landauer's exorcism of Maxwell's Daemon</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2e">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="video" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2e">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Szilard's engine and Landauer's exorcism of Maxwell's Daemon</h3>
<div
id="video_U1L2e"
class="video closed"
data-metadata='{"ytMetadataEndpoint": "", "speed": null, "savedVideoPosition": 0.0, "end": 0.0, "sources": [], "lmsRootURL": "https://openlearninglibrary.mit.edu", "autoplay": false, "autoAdvance": false, "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "transcriptLanguage": "en", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2e/handler/transcript/available_translations", "completionPercentage": 0.95, "prioritizeHls": false, "poster": null, "generalSpeed": 1.0, "showCaptions": "true", "transcriptLanguages": {"en": "English"}, "captionDataDir": null, "publishCompletionUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2e/handler/publish_completion", "start": 0.0, "streams": "1.00:uctYqQAbfyk", "transcriptTranslationUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2e/handler/transcript/translation/__lang__", "completionEnabled": false, "duration": 0.0, "autohideHtml5": false, "saveStateUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2e/handler/xmodule_handler/save_user_state", "ytTestTimeout": 1500, "saveStateEnabled": false}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="U1L2e"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box5">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box5">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@Reversible_computation_and_the_billiard_ball_model">
<h2 class="hd hd-2 unit-title">Reversible computation and the billiard ball model</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2f">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="video" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2f">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Reversible computation and the billiard ball model</h3>
<div
id="video_U1L2f"
class="video closed"
data-metadata='{"ytMetadataEndpoint": "", "speed": null, "savedVideoPosition": 0.0, "end": 0.0, "sources": [], "lmsRootURL": "https://openlearninglibrary.mit.edu", "autoplay": false, "autoAdvance": false, "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "transcriptLanguage": "en", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2f/handler/transcript/available_translations", "completionPercentage": 0.95, "prioritizeHls": false, "poster": null, "generalSpeed": 1.0, "showCaptions": "true", "transcriptLanguages": {"en": "English"}, "captionDataDir": null, "publishCompletionUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2f/handler/publish_completion", "start": 0.0, "streams": "1.00:m-C4jWJPRDo", "transcriptTranslationUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2f/handler/transcript/translation/__lang__", "completionEnabled": false, "duration": 0.0, "autohideHtml5": false, "saveStateUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2f/handler/xmodule_handler/save_user_state", "ytTestTimeout": 1500, "saveStateEnabled": false}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="U1L2f"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box6">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box6">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@CQ_Reversible_computation_in_practice">
<h2 class="hd hd-2 unit-title">CQ: Reversible computation in practice</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-rev-comp">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="True" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="problem" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-rev-comp">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_u1-2-cq-rev-comp" class="problems-wrapper" role="group"
aria-labelledby="u1-2-cq-rev-comp-problem-title"
data-problem-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-rev-comp" data-url="/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-rev-comp/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="1"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="u1-2-cq-rev-comp-problem-title" aria-describedby="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-rev-comp-problem-progress" tabindex="-1">
Reversible computation in practice
</h3>
<div class="problem-progress" id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@u1-2-cq-rev-comp-problem-progress"></div>
<div class="problem">
<div>
<p>
This is a concept question, provided to double-check your understanding of the previous video clip. </p>
<p>
In lecture, Prof. Chuang explained how the kinematic collision of hard, spherical billiard balls can be employed to realize AND and NOT gates, and thus realize any Boolean function. And since this motion is manifestly reversible, at least under ideal circumstances, such a realization of a Boolean function would be reversible. </p>
<p>
Why are reversible circuit implementations, like in the <a href="https://en.wikipedia.org/wiki/Billiard-ball_computer" target="_blank">billiard ball computer</a>, largely not used in modern computers? </p>
<p>
Of the following options, choose the most fundamental limitation: </p>
<p>
<div class="wrapper-problem-response" tabindex="-1" aria-label="Question 1" role="group"><div class="choicegroup capa_inputtype" id="inputtype_u1-2-cq-rev-comp_2_1">
<fieldset aria-describedby="status_u1-2-cq-rev-comp_2_1">
<div class="field">
<input type="checkbox" name="input_u1-2-cq-rev-comp_2_1[]" id="input_u1-2-cq-rev-comp_2_1_choice_0" class="field-input input-checkbox" value="choice_0"/><label id="u1-2-cq-rev-comp_2_1-choice_0-label" for="input_u1-2-cq-rev-comp_2_1_choice_0" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-rev-comp_2_1">
<text>Billiard balls are too hard to fit into integrated circuits</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_u1-2-cq-rev-comp_2_1[]" id="input_u1-2-cq-rev-comp_2_1_choice_1" class="field-input input-checkbox" value="choice_1"/><label id="u1-2-cq-rev-comp_2_1-choice_1-label" for="input_u1-2-cq-rev-comp_2_1_choice_1" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-rev-comp_2_1">
<text>Rolling friction slows down balls too much to allow long computations</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_u1-2-cq-rev-comp_2_1[]" id="input_u1-2-cq-rev-comp_2_1_choice_2" class="field-input input-checkbox" value="choice_2"/><label id="u1-2-cq-rev-comp_2_1-choice_2-label" for="input_u1-2-cq-rev-comp_2_1_choice_2" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-rev-comp_2_1">
<text>Reversible circuits would need reversible power supplies to exist</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_u1-2-cq-rev-comp_2_1[]" id="input_u1-2-cq-rev-comp_2_1_choice_3" class="field-input input-checkbox" value="choice_3"/><label id="u1-2-cq-rev-comp_2_1-choice_3-label" for="input_u1-2-cq-rev-comp_2_1_choice_3" class="response-label field-label label-inline" aria-describedby="status_u1-2-cq-rev-comp_2_1">
<text>Reversible circuits are susceptible to small imperfections that cause cascading errors</text>
</label>
</div>
<span id="answer_u1-2-cq-rev-comp_2_1"/>
</fieldset>
<div class="indicator-container">
<span class="status unanswered" id="status_u1-2-cq-rev-comp_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
</div>
</div></div>
</p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Reversible computation in practice" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_u1-2-cq-rev-comp" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_u1-2-cq-rev-comp">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="u1-2-cq-rev-comp-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="u1-2-cq-rev-comp-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="u1-2-cq-rev-comp-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1xxxx">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1xxxx">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@Reversible_gates_and_circuits">
<h2 class="hd hd-2 unit-title">Reversible gates and circuits</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2g">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="video" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2g">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Reversible gates and circuits</h3>
<div
id="video_U1L2g"
class="video closed"
data-metadata='{"ytMetadataEndpoint": "", "speed": null, "savedVideoPosition": 0.0, "end": 0.0, "sources": [], "lmsRootURL": "https://openlearninglibrary.mit.edu", "autoplay": false, "autoAdvance": false, "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "transcriptLanguage": "en", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2g/handler/transcript/available_translations", "completionPercentage": 0.95, "prioritizeHls": false, "poster": null, "generalSpeed": 1.0, "showCaptions": "true", "transcriptLanguages": {"en": "English"}, "captionDataDir": null, "publishCompletionUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2g/handler/publish_completion", "start": 0.0, "streams": "1.00:A1AfvCUk5Ew", "transcriptTranslationUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2g/handler/transcript/translation/__lang__", "completionEnabled": false, "duration": 0.0, "autohideHtml5": false, "saveStateUrl": "/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@video+block@U1L2g/handler/xmodule_handler/save_user_state", "ytTestTimeout": 1500, "saveStateEnabled": false}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="U1L2g"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box7">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box7">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="vertical" data-runtime-version="1" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@vertical+block@CQ_Hierarchy_of_reversible_gates">
<h2 class="hd hd-2 unit-title">CQ: Hierarchy of reversible gates</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@problem_u1-1-cq-universality">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="True" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="problem" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@problem_u1-1-cq-universality">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_problem_u1-1-cq-universality" class="problems-wrapper" role="group"
aria-labelledby="problem_u1-1-cq-universality-problem-title"
data-problem-id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@problem_u1-1-cq-universality" data-url="/courses/course-v1:MITx+8.370.1x+1T2018/xblock/block-v1:MITx+8.370.1x+1T2018+type@problem+block@problem_u1-1-cq-universality/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="1"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="problem_u1-1-cq-universality-problem-title" aria-describedby="block-v1:MITx+8.370.1x+1T2018+type@problem+block@problem_u1-1-cq-universality-problem-progress" tabindex="-1">
Universality of classical circuits
</h3>
<div class="problem-progress" id="block-v1:MITx+8.370.1x+1T2018+type@problem+block@problem_u1-1-cq-universality-problem-progress"></div>
<div class="problem">
<div>
<p>
This is a concept question, provided to double-check your understanding of the previous video clip. </p>
<p>
We discussed in lecture a number of primitive reversible logic gates, including the NOT, CNOT, SWAP, Toffoli, and Fredkin gates. Fascinatingly, until recently, it wasn't known what class of reversible circuits could be generated by a given set of these gates (assuming swaps and ancilla bits for free). Such a <a href="https://arxiv.org/abs/1504.05155" target="_blank">complete classification of all reversible bit operations</a> was worked out by three folks at MIT (including a former student of this subject), for classical bit circuits, raising the still-unanswered question of a similar classification for qubit circuits. </p>
<p>
This question examines one of the simplest conceptual examples of the classification challenge. Recall from lecture that both the Fredkin gate and the Toffoli gate may be used to construct AND and NOT gates, and thus both are universal primitives. However, these constructions left many unused bits sitting around, and also consumed extra ancilla bits (fixed zeros and ones in the inputs). </p>
<p>
Suppose no garbage bits are allowed, and no extra ancilla bits are provided, and call these the family of &#8220;in-place reversible" circuit constructions. </p>
<p>
Can the Fredkin and Toffoli gates construct each other, using in-place reversible constructions? </p>
<p>
Define: </p>
<ul class="itemize">
<li>
<p><b class="bf">Claim A</b>: An in-place reversible construction of the Toffoli gate is possible, using just Fredkin gates. </p>
</li>
<li>
<p><b class="bf">Claim B</b>: An in-place reversible construction of the Fredkin gate is possible, using just Toffoli gates. </p>
</li>
</ul>
<p>
Which of the following is correct: </p>
<p>
<div class="wrapper-problem-response" tabindex="-1" aria-label="Question 1" role="group"><div class="choicegroup capa_inputtype" id="inputtype_problem_u1-1-cq-universality_2_1">
<fieldset aria-describedby="status_problem_u1-1-cq-universality_2_1">
<div class="field">
<input type="radio" name="input_problem_u1-1-cq-universality_2_1" id="input_problem_u1-1-cq-universality_2_1_choice_1" class="field-input input-radio" value="choice_1"/><label id="problem_u1-1-cq-universality_2_1-choice_1-label" for="input_problem_u1-1-cq-universality_2_1_choice_1" class="response-label field-label label-inline" aria-describedby="status_problem_u1-1-cq-universality_2_1">
<text> Both A and B are true</text>
</label>
</div>
<div class="field">
<input type="radio" name="input_problem_u1-1-cq-universality_2_1" id="input_problem_u1-1-cq-universality_2_1_choice_2" class="field-input input-radio" value="choice_2"/><label id="problem_u1-1-cq-universality_2_1-choice_2-label" for="input_problem_u1-1-cq-universality_2_1_choice_2" class="response-label field-label label-inline" aria-describedby="status_problem_u1-1-cq-universality_2_1">
<text> A is True and B is False</text>
</label>
</div>
<div class="field">
<input type="radio" name="input_problem_u1-1-cq-universality_2_1" id="input_problem_u1-1-cq-universality_2_1_choice_3" class="field-input input-radio" value="choice_3"/><label id="problem_u1-1-cq-universality_2_1-choice_3-label" for="input_problem_u1-1-cq-universality_2_1_choice_3" class="response-label field-label label-inline" aria-describedby="status_problem_u1-1-cq-universality_2_1">
<text> A is False and B is True</text>
</label>
</div>
<div class="field">
<input type="radio" name="input_problem_u1-1-cq-universality_2_1" id="input_problem_u1-1-cq-universality_2_1_choice_4" class="field-input input-radio" value="choice_4"/><label id="problem_u1-1-cq-universality_2_1-choice_4-label" for="input_problem_u1-1-cq-universality_2_1_choice_4" class="response-label field-label label-inline" aria-describedby="status_problem_u1-1-cq-universality_2_1">
<text> Both A and B are false</text>
</label>
</div>
<span id="answer_problem_u1-1-cq-universality_2_1"/>
</fieldset>
<div class="indicator-container">
<span class="status unanswered" id="status_problem_u1-1-cq-universality_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
</div>
</div></div>
</p>
<p>
<div class="solution-span">
<span id="solution_problem_u1-1-cq-universality_solution_1"/>
</div></p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Universality of classical circuits" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_problem_u1-1-cq-universality" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_problem_u1-1-cq-universality">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="problem_u1-1-cq-universality-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="problem_u1-1-cq-universality-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="problem_u1-1-cq-universality-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1xxxxx">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-runtime-class="LmsRuntime" data-graded="True" data-has-score="False" data-request-token="2ebe7452732911ef9b460affc3e823a3" data-course-id="course-v1:MITx+8.370.1x+1T2018" data-block-type="html" data-runtime-version="1" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.370.1x+1T2018+type@html+block@html_site_search_box1xxxxx">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.370.1x+1T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.370.1x+1T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
(function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
go_to_search = function(){
// find search this module link
search_module_url = "";
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
})();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
© All Rights Reserved