hrzlvn/coursequestionbank

View on GitHub
json.txt

Summary

Maintainability
Test Coverage
# Logfile created on 2016-11-16 17:35:45 -0800 by logger.rb/53141
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6b4e4fab-2b5e-4b8f-aad1-d39d8d2f0c9a", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6b4e4fab-2b5e-4b8f-aad1-d39d8d2f0c9a", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f856c8eb-14be-426d-8937-3ed3aef6fc8a", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f856c8eb-14be-426d-8937-3ed3aef6fc8a", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"804124f4-3499-4d34-8dd4-b4fed9f3f078", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"804124f4-3499-4d34-8dd4-b4fed9f3f078", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"866f971c-7a0c-4d62-8bcf-fa1d28a7771c", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"866f971c-7a0c-4d62-8bcf-fa1d28a7771c", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Your app will continue, but the messages will be lost forever", "correct"=>true, "explanation"=>"Printing to the log file would be the right thing to do, but it doesn't happen automatically.  Instead the messages will get silently lost."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"47260223-c19b-43df-b4e7-8c33c54e3227", "question_comment"=>"", "question_text"=>"If you use <tt>puts</tt> or <tt>printf</tt> to print debugging messages in a production app:", "multiple"=>false, "randomize"=>false, "uid"=>"faa7df9c-828b-4787-9757-d4a5ce780288", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ddf3066f-42a6-4825-a72c-78a3997d113e", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"b72b2e52-b1e3-4c13-bdac-78af286c465a", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"An object representing a table", "correct"=>true, "explanation"=>"\nThis is a good example of trying to infer intent from good variable names and good code structure.  Since we are calling a method <tt>release_date</tt> on <tt>t</tt>, we might ask: on what types of objects might such a method be meaningfully defined?  Certainly not a database, since a database can have many tables, anby one of which might have one or more Datetime columns; nor an instance of a model, for the same reason.  It does, however, make sense if <tt>t</tt> is a table to specify a Datetime column for that particular table.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ebd01bde-8e94-40cb-9fdf-3ac7f40da697", "question_comment"=>"", "question_text"=>"Based on what you’ve seen of Rails, what kind of object is likely being yielded in the migration code:\n<pre>\ndef up\n  create_table 'movies' do |t|\n    t.datetime 'release_date'\n    ...\n  end\nend\n</pre>", "multiple"=>false, "randomize"=>false, "uid"=>"2c16b9ea-accf-4fa8-abbc-b52712b87b6c", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"will not be updated automatically, but can be updated manually by re-executing <tt>r = Movie.where(\"title='Amelie'\").rating</tt>", "correct"=>true, "explanation"=>"The in-memory object retrieved by ActiveRecord is distinct from the database row that stores the persistent version of that object.  ActiveRecord methods like <tt>where</tt> can be used to Create, Read, Update or Delete the database table, but anything that happens to the database \"in between\" calls to those methods is invisible until we \"reload\" the model from the database or save our own changes to the database."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"53185503-75ff-4699-bbfd-722d7f3afb4d", "question_comment"=>"", "question_text"=>"Suppose we've executed\n<tt>r = Movie.where(\"title='Amelie'\").rating</tt>\n\nThen another app (not our own) changes the movie's rating in the database table directly.  Just after that instant, the value of <tt>r</tt>:", "multiple"=>false, "randomize"=>false, "uid"=>"aa218f09-2a92-4d87-ad77-0b3314c1d424", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"only (a) and (c)", "correct"=>true, "explanation"=>"As 'rake routes' on your Rails app shows, different routes can have the same URI as long as they use different HTTP methods.  The route helpers provided by Rails are a convenience, but the browser only cares whether a valid URI is associated with each hyperlink--it doesn't care how the URI was generated."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"73ca536f-1278-4a43-a96f-e3fe04d5aa96", "question_comment"=>"", "question_text"=>"Which statements are TRUE:\na) A route consists of both a URI and an HTTP method\nb)  A route URI MUST be generated by Rails URI helpers\nc) A route URI MAY be generated by Rails URI helpers", "multiple"=>true, "randomize"=>false, "uid"=>"42cd2542-23dd-4851-9966-c2e66764b131", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>= form_tag movies_path do ... end</tt>", "correct"=>true, "explanation"=>"All that is required by the browser is a <tt><form></tt> tag with an <tt>action</tt> attribute whose value is the submission URI and whose <tt>method</tt> attribute names the HTTP method (GET or POST) for submitting the form.  All three versions of the code above would generate a tag with these attributes and values."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1ade0da9-b7e6-407d-8de8-e9014dd1837c", "question_comment"=>"", "question_text"=>"Which of these would be valid Haml for generating the form that, when submitted, would call the Create New Movie action?", "multiple"=>true, "randomize"=>false, "uid"=>"35ea31ca-4ed1-4a9f-855a-8b95d63569a4", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>= form_tag movies_path do ... end</tt>", "correct"=>true, "explanation"=>"All that is required by the browser is a <tt><form></tt> tag with an <tt>action</tt> attribute whose value is the submission URI and whose <tt>method</tt> attribute names the HTTP method (GET or POST) for submitting the form.  All three versions of the code above would generate a tag with these attributes and values."}, {"answer_text"=>"<tt>%form{:action => movies_path, :method => :post}</tt>", "correct"=>true, "explanation"=>"All that is required by the browser is a <tt><form></tt> tag with an <tt>action</tt> attribute whose value is the submission URI and whose <tt>method</tt> attribute names the HTTP method (GET or POST) for submitting the form.  All three versions of the code above would generate a tag with these attributes and values."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1ade0da9-b7e6-407d-8de8-e9014dd1837c", "question_comment"=>"", "question_text"=>"Which of these would be valid Haml for generating the form that, when submitted, would call the Create New Movie action?", "multiple"=>true, "randomize"=>false, "uid"=>"35ea31ca-4ed1-4a9f-855a-8b95d63569a4", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>= form_tag movies_path do ... end</tt>", "correct"=>true, "explanation"=>"All that is required by the browser is a <tt><form></tt> tag with an <tt>action</tt> attribute whose value is the submission URI and whose <tt>method</tt> attribute names the HTTP method (GET or POST) for submitting the form.  All three versions of the code above would generate a tag with these attributes and values."}, {"answer_text"=>"<tt>%form{:action => movies_path, :method => :post}</tt>", "correct"=>true, "explanation"=>"All that is required by the browser is a <tt><form></tt> tag with an <tt>action</tt> attribute whose value is the submission URI and whose <tt>method</tt> attribute names the HTTP method (GET or POST) for submitting the form.  All three versions of the code above would generate a tag with these attributes and values."}, {"answer_text"=>"<tt>%form{:action => 'movies', :method => 'post'}", "correct"=>true, "explanation"=>"All that is required by the browser is a <tt><form></tt> tag with an <tt>action</tt> attribute whose value is the submission URI and whose <tt>method</tt> attribute names the HTTP method (GET or POST) for submitting the form.  All three versions of the code above would generate a tag with these attributes and values."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1ade0da9-b7e6-407d-8de8-e9014dd1837c", "question_comment"=>"", "question_text"=>"Which of these would be valid Haml for generating the form that, when submitted, would call the Create New Movie action?", "multiple"=>true, "randomize"=>false, "uid"=>"35ea31ca-4ed1-4a9f-855a-8b95d63569a4", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"True - but a bad idea", "correct"=>true, "explanation"=>"It is true that you CAN put arbitrary objects into a hash, and in this respect the session hash is no different.  However, the session has to be serialized into an object that can either be stored in the database or passed directly to the client as a cookie, and because of the size limits on such objects, it's best not to stuff a lot of data into the session hash."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"93aa8c93-6b69-4991-b2ad-dfac96f92af6", "question_comment"=>"", "question_text"=>"Ben Bitdiddle says: \"You can put arbitrary objects (not just \"simple\" ones like ints and strings) into the <tt>session[]</tt>.\"  What do you think?", "multiple"=>false, "randomize"=>false, "uid"=>"46ac05ac-62fa-4ab2-9f35-b2678b40fbd7", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Only this request: once the view is rendered, the variable is reset to nil", "correct"=>true, "explanation"=>"No matter how the request ends, once it's over, it's over.  The controller instance dedicated to handling this request (and therefore its instance variables) is destroyed once the request finishes."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4109933b-711e-4aa0-af26-4db6e6d24e28", "question_comment"=>"", "question_text"=>"If you set an instance variable in a controller method, for how long will its value be retained?", "multiple"=>false, "randomize"=>false, "uid"=>"0d8af500-008f-4304-b480-40cd87d4bd61", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Ensure a route exists in <tt>config/routes.rb</tt>", "correct"=>true, "explanation"=>"A route is always necessary, although it may already be covered by route helpers such as <tt>resources</tt> that generate multiple routes from a single route declaration.  A template MAY be necessary, but some actions will end with a <tt>redirect_to</tt> instead, so this step is not always necessary.  Similarly, URI helpers are an optional convenience, but the app will work just fine without them."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b01e2e2c-3949-4167-afef-349e8b59a00c", "question_comment"=>"", "question_text"=>"Which steps are ALWAYS required when adding a new action <tt>foo</tt> to the MoviesController?", "multiple"=>true, "randomize"=>false, "uid"=>"d9df06b7-3edf-48cf-b018-3069d868c8ff", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>movie.update_attribute(:title, \"T2\")</tt>", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1d76731e-8ab2-4f0d-ba3d-427681404c1d", "question_comment"=>"", "question_text"=>"\nConsider the following code, and assume the database contains exactly one movie whose title is \"Terminator 2\":\n<pre>\nmovie = Movie.where(:title => \"Terminator 2\")\n__________\nMovie.find(movie.id).title   # => returns \"T2\"\n</pre>\nWhich code snippets below, if used to fill in the blank, would cause <tt>movie.title</tt> to return \"T2\"?", "multiple"=>true, "randomize"=>false, "uid"=>"4e67492b-4bcb-4d07-b476-e5bb8ec006a3", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>movie.update_attribute(:title, \"T2\")</tt>", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>Movie.where(:title => \"Terminator 2\").update_attribute(:title, \"T2\")</tt>", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1d76731e-8ab2-4f0d-ba3d-427681404c1d", "question_comment"=>"", "question_text"=>"\nConsider the following code, and assume the database contains exactly one movie whose title is \"Terminator 2\":\n<pre>\nmovie = Movie.where(:title => \"Terminator 2\")\n__________\nMovie.find(movie.id).title   # => returns \"T2\"\n</pre>\nWhich code snippets below, if used to fill in the blank, would cause <tt>movie.title</tt> to return \"T2\"?", "multiple"=>true, "randomize"=>false, "uid"=>"4e67492b-4bcb-4d07-b476-e5bb8ec006a3", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/event/:id", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"eeb18c9a-78b6-4b0c-ac1e-12a8800e751a", "question_comment"=>"", "question_text"=>"Which paths does <pre>resources :events</pre> NOT generate?", "multiple"=>true, "randomize"=>true, "uid"=>"bfb746db-40c2-4ca1-ab2e-aeab69df206c", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/event/:id", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/event/:id/edit", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"eeb18c9a-78b6-4b0c-ac1e-12a8800e751a", "question_comment"=>"", "question_text"=>"Which paths does <pre>resources :events</pre> NOT generate?", "multiple"=>true, "randomize"=>true, "uid"=>"bfb746db-40c2-4ca1-ab2e-aeab69df206c", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/event/:id", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/event/:id/edit", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/event/new", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"eeb18c9a-78b6-4b0c-ac1e-12a8800e751a", "question_comment"=>"", "question_text"=>"Which paths does <pre>resources :events</pre> NOT generate?", "multiple"=>true, "randomize"=>true, "uid"=>"bfb746db-40c2-4ca1-ab2e-aeab69df206c", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/earths", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8511a604-8eab-4289-9a27-8ff9cdf614a9", "question_comment"=>"", "question_text"=>"Which paths does <pre>resources :earth</pre> NOT generate?", "multiple"=>true, "randomize"=>true, "uid"=>"bf0de83c-3d77-4fd6-8659-d50708c5c2d1", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/earths", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/earths/:id/edit", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8511a604-8eab-4289-9a27-8ff9cdf614a9", "question_comment"=>"", "question_text"=>"Which paths does <pre>resources :earth</pre> NOT generate?", "multiple"=>true, "randomize"=>true, "uid"=>"bf0de83c-3d77-4fd6-8659-d50708c5c2d1", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/events", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b40e0126-7d07-427b-9f9d-d985c37cb67d", "question_comment"=>"", "question_text"=>"Which paths does the following generate?\n    <pre>\n    resources :events do\n      resources :photos\n    end\n    </pre>", "multiple"=>true, "randomize"=>true, "uid"=>"7a3480ed-278f-4e74-ab2e-b15fe26b9882", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/events", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/events/:event_id/photos/:id", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b40e0126-7d07-427b-9f9d-d985c37cb67d", "question_comment"=>"", "question_text"=>"Which paths does the following generate?\n    <pre>\n    resources :events do\n      resources :photos\n    end\n    </pre>", "multiple"=>true, "randomize"=>true, "uid"=>"7a3480ed-278f-4e74-ab2e-b15fe26b9882", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/events", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/events/:event_id/photos/:id", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/events/:event_id/photos", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b40e0126-7d07-427b-9f9d-d985c37cb67d", "question_comment"=>"", "question_text"=>"Which paths does the following generate?\n    <pre>\n    resources :events do\n      resources :photos\n    end\n    </pre>", "multiple"=>true, "randomize"=>true, "uid"=>"7a3480ed-278f-4e74-ab2e-b15fe26b9882", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/route/i", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b8131606-503a-4417-9f62-1fed3fefb3d8", "question_comment"=>"", "question_text"=>"Adding a new action to your Rails app requires adding a --- to map the URI.", "order"=>false, "case_sensitive"=>false, "uid"=>"eb3f6f5e-99b4-4d3e-b961-6deb47c23591", "question_type"=>"FillIn"}
{"answers"=>[{"answer_text"=>"True", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2f3cbeb5-02c2-400d-8d6a-e91462192aa4", "question_comment"=>"", "question_text"=>"True or False: True or False: As long as you set up the correct routes, you can choose names other than show, create, and so on for the basic CRUD methods in a controller.True", "question_type"=>"TrueFalse"}
{"answers"=>[{"answer_text"=>"Only (a) and (b)", "correct"=>true, "explanation"=>"The action would have the option of reusing an existing view, by either redirecting to it or rendering it explicitly.  But the action definitely needs its own route and controller method."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ba886d6a-1574-4dbd-b764-7f506be58072", "question_comment"=>"", "question_text"=>"We want to add a new action \"get_recent_movies\" to RottenPotatoes, to list only movies released in the last month.  We MUST create which of the following:  (a) a route, (b) a controller method, (c) a view?", "multiple"=>true, "randomize"=>false, "uid"=>"84c54e89-00e5-4411-8a95-5930a13be764", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"(?i-mx:controller)", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e89fea89-0701-4668-9d86-6ca244464275", "question_comment"=>"", "question_text"=>"Adding a new action to your Rails app requires adding a method to the --- to perform the action itself.", "order"=>false, "case_sensitive"=>false, "uid"=>"e60f30a8-7edc-405f-ab87-48a1b365721a", "question_type"=>"FillIn"}
{"answers"=>[{"answer_text"=>"Makes the message available to whatever view is rendered for this action", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d952fe05-3173-4519-a5da-faf780df7030", "question_comment"=>"", "question_text"=>"What does line 4 do in the following code?\n<pre>\n1 class PostsController < ActionController::Base\n2   def add_post\n3     # ...code to create new blog post...\n4     flash[:notice] = \"Post added successfully\"\n5     redirect_to posts_url\n6   end\n7 end\n</pre>", "multiple"=>true, "randomize"=>false, "uid"=>"61929f57-5d2c-4283-a913-f2298023e395", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Makes the message available to whatever view is rendered for this action", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persists the message until the next request", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d952fe05-3173-4519-a5da-faf780df7030", "question_comment"=>"", "question_text"=>"What does line 4 do in the following code?\n<pre>\n1 class PostsController < ActionController::Base\n2   def add_post\n3     # ...code to create new blog post...\n4     flash[:notice] = \"Post added successfully\"\n5     redirect_to posts_url\n6   end\n7 end\n</pre>", "multiple"=>true, "randomize"=>false, "uid"=>"61929f57-5d2c-4283-a913-f2298023e395", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Cookies", "correct"=>true, "explanation"=>"All Ruby variables associated with the controller, whether instance or class, are created anew on every request."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"01f0f55b-f968-4fed-a2bd-9660dd7f8aba", "question_comment"=>"", "question_text"=>"Which of the following can be used to store state ACROSS requests from the same user?", "multiple"=>true, "randomize"=>true, "uid"=>"d6ef8dd0-a9c2-481a-bf4a-a11d9375b32d", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Cookies", "correct"=>true, "explanation"=>"All Ruby variables associated with the controller, whether instance or class, are created anew on every request."}, {"answer_text"=>"The session[] hash", "correct"=>true, "explanation"=>"All Ruby variables associated with the controller, whether instance or class, are created anew on every request."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"01f0f55b-f968-4fed-a2bd-9660dd7f8aba", "question_comment"=>"", "question_text"=>"Which of the following can be used to store state ACROSS requests from the same user?", "multiple"=>true, "randomize"=>true, "uid"=>"d6ef8dd0-a9c2-481a-bf4a-a11d9375b32d", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"This request and the next request", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1835b97e-c15d-4283-8dc5-4df0436bfe64", "question_comment"=>"", "question_text"=>"If a controller action assigns a value to <tt>flash[:notice]</tt>, that value is accessible to a view during:", "multiple"=>false, "randomize"=>false, "uid"=>"31dc47d4-dd31-41fb-aece-47aea3ebd2d0", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"This request only", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f646514b-db8a-446c-8081-eb85154cab5b", "question_comment"=>"", "question_text"=>"If a controller action assigns a value to <tt>flash.now[:notice]</tt>, that value is accessible to a view during:", "multiple"=>false, "randomize"=>false, "uid"=>"3ff28a97-5d26-4b8b-8b1e-c406ff6d46d5", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"This request only", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e6641a7c-cef1-43ec-92b5-621ddf38800f", "question_comment"=>"", "question_text"=>"If a submitted form populates <tt>params['movie']['title']</tt> with user-entered values, those values are accessible to the controller action during:", "multiple"=>false, "randomize"=>false, "uid"=>"d595e46c-dad8-439a-82ab-9476f2104268", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Views rendered for this request only", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6d276453-841d-437d-94bd-52b93cf274a9", "question_comment"=>"", "question_text"=>"If a controller action sets an instance variable, the instance variable's value is accessible to:", "multiple"=>false, "randomize"=>false, "uid"=>"89958708-243f-4474-8931-0c3680817084", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>params[]</tt>", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3e84bff2-a977-48a2-8137-3b932a55093a", "question_comment"=>"", "question_text"=>"Which Rails features facilitate passing user-entered information FROM the view TO the controller?", "multiple"=>true, "randomize"=>false, "uid"=>"1d076bfc-2892-4b28-b8a2-8c2a93339964", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>params[]</tt>", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"routes", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3e84bff2-a977-48a2-8137-3b932a55093a", "question_comment"=>"", "question_text"=>"Which Rails features facilitate passing user-entered information FROM the view TO the controller?", "multiple"=>true, "randomize"=>false, "uid"=>"1d076bfc-2892-4b28-b8a2-8c2a93339964", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"controller instance variables", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d99163a1-faa5-4e07-baa6-31be8f124874", "question_comment"=>"", "question_text"=>"Which Rails features facilitate passing model information FROM the controller TO the view?", "multiple"=>true, "randomize"=>false, "uid"=>"41027bf1-bf9f-4cae-975c-59b6eb42c357", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"because <tt>movies_path</tt> refers to a whole collection of resources\n              rather than a single resource, whereas the other two refer\n              to a single resource and so need an argument to  specify\n              which resource", "correct"=>true, "explanation"=>"To edit or show details of a movie, a RESTful URI must specify which\n    one, so the helpers take an ActiveRecord model object and encode its\n    ID into the URI.  To list all movies, the URI need not include any\n    movie ID."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a3c383da-4523-43d7-9014-60ab90f90e84", "question_comment"=>"", "question_text"=>"Why do the RESTful URI helpers <tt>edit_movie_path</tt> and\n  <tt>movie_path</tt> require an argument, whereas the helper <tt>movies_path</tt>\n  requires no argument?  Check all that apply:", "multiple"=>true, "randomize"=>false, "uid"=>"8e0112f0-9bf0-4363-8b80-9b987388423a", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"\"NC-17\" will be printed", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3a3b6a75-cd20-4a56-a531-810efaf755ed", "question_comment"=>"", "question_text"=>"Given a <tt>movies</tt> table with columns for <tt>title</tt> and <tt>rating</tt>, and containing a row for the movie \"Carrie\" with the rating \"R\", what will be printed by the following code:\n<pre>\nclass Movie < ActiveRecord::Base\n  def make_adult\n    @rating = 'X'\n  end\nend\n\nm = Movie.find_by_title(\"Carrie\")\nm.make_adult\nm.save!\n\nputs Movie.find_by_title(\"Carrie\").rating\n</pre>\n", "multiple"=>false, "randomize"=>true, "uid"=>"8297b156-b6c6-4b8d-8c16-07a85785a20e", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>Movie.find_by_name('Carrie').update_attributes!(:rating => 'R')", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"77172a53-9054-4fb0-bbe0-25eb7fe39bd9", "question_comment"=>"", "question_text"=>"Given a <tt>movies</tt> table with columns for <tt>title</tt> and <tt>rating</tt>, and containing a row for the movie \"Carrie\" with the rating \"NC-17\", which of the following expressions will change the in-database copy to have the rating \"R\"?  (Assume <tt>Movie</tt> inherits from <tt>ActiveRecord::Base</tt> as usual.)", "multiple"=>true, "randomize"=>false, "uid"=>"3d4fd6db-6ba1-48b9-ba65-30b60995e58a", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>Movie.find_by_name('Carrie').update_attributes!(:rating => 'R')", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>Movie.where('name = :name', :name => 'Carrie').update_attributes!(:rating => 'R')", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"77172a53-9054-4fb0-bbe0-25eb7fe39bd9", "question_comment"=>"", "question_text"=>"Given a <tt>movies</tt> table with columns for <tt>title</tt> and <tt>rating</tt>, and containing a row for the movie \"Carrie\" with the rating \"NC-17\", which of the following expressions will change the in-database copy to have the rating \"R\"?  (Assume <tt>Movie</tt> inherits from <tt>ActiveRecord::Base</tt> as usual.)", "multiple"=>true, "randomize"=>false, "uid"=>"3d4fd6db-6ba1-48b9-ba65-30b60995e58a", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>Movie.find_by_name('Carrie').update_attributes!(:rating => 'R')", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>Movie.where('name = :name', :name => 'Carrie').update_attributes!(:rating => 'R')", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>h = {:rating => 'R'} ; Movie.where('name = \"Carrie\"').update_attributes!(h)</tt>", "correct"=>true, "explanation"=>"The argument of <tt>update_attributes</tt> is just a hash, so it's fine to assign it to a variable instead of passing it using poetry mode."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"77172a53-9054-4fb0-bbe0-25eb7fe39bd9", "question_comment"=>"", "question_text"=>"Given a <tt>movies</tt> table with columns for <tt>title</tt> and <tt>rating</tt>, and containing a row for the movie \"Carrie\" with the rating \"NC-17\", which of the following expressions will change the in-database copy to have the rating \"R\"?  (Assume <tt>Movie</tt> inherits from <tt>ActiveRecord::Base</tt> as usual.)", "multiple"=>true, "randomize"=>false, "uid"=>"3d4fd6db-6ba1-48b9-ba65-30b60995e58a", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"(ii)", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3eb1f797-24f5-4a9c-a318-e2d1ab8dd634", "question_comment"=>"", "question_text"=>"Consider the following model: \n  \t\n  \t<pre>\n  \t# == Schema Information\n    #\n    # Table name: events\n    #\n    #  created_at       :datetime         not null\n    #  description      :text\n    #  id               :integer          not null, primary key\n    #  location         :string(255)\n    #  name             :string(255)\n    #  rsvp_count       :integer\n    #  updated_at       :datetime         not null\n    #\n  \tclass Event < ActiveRecord::Base\n      attr_accessible :description, :name, :location\n      validates :name, :description, :presence => true\n  \tend\n  \t</pre>\n  \t\n  \tWhich of the following will properly add a new entry to the database?\n  \t\n  \t(i)\n  \t<pre>\n\t\t  calapalooza = Event.new(:name => 'Calapalooza', :rsvp_count => 2, :location => 'Upper Sproul', :description => 'Calapalooza is Berkeley's annual new student activity fair, the heart of your Welcome experience.')\n\t\t  calapalooza.save\n  \t</pre>\n\t\n  \t(ii)\n  \t<pre>\n  \t\tcalapalooza = Event.new\n  \t\tcalapalooza.name = 'Calapalooza'\n  \t\tcalapalooza.location = 'Upper Sproul'\n  \t\tcalapalooza.description = 'Calapalooza is Berkeley's annual new student activity fair, the heart of your Welcome experience.'\n  \t\tcalapalooza.save\n  \t</pre>\n\t\n  \t(iii)\n  \t<pre>\n  \t\tcalapalooza = Event.new(:location => 'Upper Sproul', :description => 'Calapalooza is Berkeley's annual new student activity fair, the heart of your Welcome experience.')\n  \t\tcalapalooza.rsvp_count = 2\n  \t\tcalapalooza.save\n  \t</pre>", "multiple"=>true, "randomize"=>true, "uid"=>"8ef3b306-4ee9-4740-b520-575514857e24", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"(i) and (ii)", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d998f218-0b32-42b7-8302-a4844014ff6d", "question_comment"=>"", "question_text"=>"Consider the following sets of code: \n  \t(i)\n  \t<pre>\n  \t\tbatman_begins = Movie.create(:title => 'Batman Begins', :release_date => '6/15/2005', :rating => 'PG-13')\n  \t</pre>\n\t\n  \t(ii)\n  \t<pre>\n  \t\tdark_knight = Movie.new\n  \t\tdark_knight.title = 'The Dark Knight'\n  \t\tdark_knight.release_date = '7/18/2008'\n  \t\tdark_knight.rating = 'PG-13'\n  \t\tdark_knight.save!\n  \t</pre>\n\t\n  \t(iii)\n  \t<pre>\n  \t\tdark_knight_rises = Movie.create\n  \t\tdark_knight_rises.title = 'The Dark Knight Rises'\n  \t\tdark_knight_rises.release_date = '7/20/2012'\n  \t\tdark_knight_rises.rating = 'PG-13'\n  \t</pre>\n  \tWhich of the following will properly add a new movie entry to the database ?", "multiple"=>true, "randomize"=>true, "uid"=>"94ffa433-f92f-49bf-8f45-55f47f5895c8", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"True", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c0880e68-4628-4491-8bc9-601a42548ee5", "question_comment"=>"", "question_text"=>"True or False: True or False: You cannot call a model method from a view.False", "question_type"=>"TrueFalse"}
{"answers"=>[{"answer_text"=>"params['title']", "correct"=>true, "explanation"=>"Form parameters always get put into <tt>params</tt>, which quacks like a hash."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8582af96-ce1b-4fc2-b0a1-dfa09910a25e", "question_comment"=>"", "question_text"=>"A user submits a new movie form. How would the associated controller access the title of the movie?", "multiple"=>false, "randomize"=>false, "uid"=>"27c3d8a8-c714-4049-9376-6085df654ad1", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>redirect_to</tt> results in generating a new HTTP request", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c27ca5b4-81e1-4fa9-9060-c280e5f593e8", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding render and redirect_to?", "multiple"=>true, "randomize"=>true, "uid"=>"f5beede2-4119-423f-a71d-cd1f74a9ae03", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Your app will continue, but the messages will be lost forever", "correct"=>true, "explanation"=>"Printing to the log file would be the right thing to do, but it doesn't happen automatically.  Instead the messages will get silently lost."}, {"answer_text"=>"Your app will raise an exception and grind to a halt", "correct"=>false, "explanation"=>"Printing to the log file would be the right thing to do, but it doesn't happen automatically.  Instead the messages will get silently lost."}, {"answer_text"=>"Your app will continue, and the messages will go into the log file", "correct"=>false, "explanation"=>"Printing to the log file would be the right thing to do, but it doesn't happen automatically.  Instead the messages will get silently lost."}, {"answer_text"=>"The SaaS gods will strike you down in a fit of rage", "correct"=>false, "explanation"=>"Printing to the log file would be the right thing to do, but it doesn't happen automatically.  Instead the messages will get silently lost."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"47260223-c19b-43df-b4e7-8c33c54e3227", "question_comment"=>"", "question_text"=>"If you use <tt>puts</tt> or <tt>printf</tt> to print debugging messages in a production app:", "multiple"=>false, "randomize"=>false, "uid"=>"faa7df9c-828b-4787-9757-d4a5ce780288", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ddf3066f-42a6-4825-a72c-78a3997d113e", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"b72b2e52-b1e3-4c13-bdac-78af286c465a", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"An object representing a table", "correct"=>true, "explanation"=>"\nThis is a good example of trying to infer intent from good variable names and good code structure.  Since we are calling a method <tt>release_date</tt> on <tt>t</tt>, we might ask: on what types of objects might such a method be meaningfully defined?  Certainly not a database, since a database can have many tables, anby one of which might have one or more Datetime columns; nor an instance of a model, for the same reason.  It does, however, make sense if <tt>t</tt> is a table to specify a Datetime column for that particular table.\n"}, {"answer_text"=>"An object representing the database", "correct"=>false, "explanation"=>"\nThis is a good example of trying to infer intent from good variable names and good code structure.  Since we are calling a method <tt>release_date</tt> on <tt>t</tt>, we might ask: on what types of objects might such a method be meaningfully defined?  Certainly not a database, since a database can have many tables, anby one of which might have one or more Datetime columns; nor an instance of a model, for the same reason.  It does, however, make sense if <tt>t</tt> is a table to specify a Datetime column for that particular table.\n"}, {"answer_text"=>"An object representing an instance of a model", "correct"=>false, "explanation"=>"\nThis is a good example of trying to infer intent from good variable names and good code structure.  Since we are calling a method <tt>release_date</tt> on <tt>t</tt>, we might ask: on what types of objects might such a method be meaningfully defined?  Certainly not a database, since a database can have many tables, anby one of which might have one or more Datetime columns; nor an instance of a model, for the same reason.  It does, however, make sense if <tt>t</tt> is a table to specify a Datetime column for that particular table.\n"}, {"answer_text"=>"It could be anything; not enough information to tell", "correct"=>false, "explanation"=>"\nThis is a good example of trying to infer intent from good variable names and good code structure.  Since we are calling a method <tt>release_date</tt> on <tt>t</tt>, we might ask: on what types of objects might such a method be meaningfully defined?  Certainly not a database, since a database can have many tables, anby one of which might have one or more Datetime columns; nor an instance of a model, for the same reason.  It does, however, make sense if <tt>t</tt> is a table to specify a Datetime column for that particular table.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ebd01bde-8e94-40cb-9fdf-3ac7f40da697", "question_comment"=>"", "question_text"=>"Based on what you’ve seen of Rails, what kind of object is likely being yielded in the migration code:\n<pre>\ndef up\n  create_table 'movies' do |t|\n    t.datetime 'release_date'\n    ...\n  end\nend\n</pre>", "multiple"=>false, "randomize"=>false, "uid"=>"2c16b9ea-accf-4fa8-abbc-b52712b87b6c", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"will not be updated automatically, but can be updated manually by re-executing <tt>r = Movie.where(\"title='Amelie'\").rating</tt>", "correct"=>true, "explanation"=>"The in-memory object retrieved by ActiveRecord is distinct from the database row that stores the persistent version of that object.  ActiveRecord methods like <tt>where</tt> can be used to Create, Read, Update or Delete the database table, but anything that happens to the database \"in between\" calls to those methods is invisible until we \"reload\" the model from the database or save our own changes to the database."}, {"answer_text"=>"will be updated automatically because an ActiveRecord model \"connects\" your app to the database", "correct"=>false, "explanation"=>"The in-memory object retrieved by ActiveRecord is distinct from the database row that stores the persistent version of that object.  ActiveRecord methods like <tt>where</tt> can be used to Create, Read, Update or Delete the database table, but anything that happens to the database \"in between\" calls to those methods is invisible until we \"reload\" the model from the database or save our own changes to the database."}, {"answer_text"=>"will be updated automatically because of ActiveRecord's use of metaprogramming", "correct"=>false, "explanation"=>"The in-memory object retrieved by ActiveRecord is distinct from the database row that stores the persistent version of that object.  ActiveRecord methods like <tt>where</tt> can be used to Create, Read, Update or Delete the database table, but anything that happens to the database \"in between\" calls to those methods is invisible until we \"reload\" the model from the database or save our own changes to the database."}, {"answer_text"=>"May be undefined or implementation-dependent", "correct"=>false, "explanation"=>"The in-memory object retrieved by ActiveRecord is distinct from the database row that stores the persistent version of that object.  ActiveRecord methods like <tt>where</tt> can be used to Create, Read, Update or Delete the database table, but anything that happens to the database \"in between\" calls to those methods is invisible until we \"reload\" the model from the database or save our own changes to the database."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"53185503-75ff-4699-bbfd-722d7f3afb4d", "question_comment"=>"", "question_text"=>"Suppose we've executed\n<tt>r = Movie.where(\"title='Amelie'\").rating</tt>\n\nThen another app (not our own) changes the movie's rating in the database table directly.  Just after that instant, the value of <tt>r</tt>:", "multiple"=>false, "randomize"=>false, "uid"=>"aa218f09-2a92-4d87-ad77-0b3314c1d424", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"only (a) and (c)", "correct"=>true, "explanation"=>"As 'rake routes' on your Rails app shows, different routes can have the same URI as long as they use different HTTP methods.  The route helpers provided by Rails are a convenience, but the browser only cares whether a valid URI is associated with each hyperlink--it doesn't care how the URI was generated."}, {"answer_text"=>"only (a)", "correct"=>false, "explanation"=>"As 'rake routes' on your Rails app shows, different routes can have the same URI as long as they use different HTTP methods.  The route helpers provided by Rails are a convenience, but the browser only cares whether a valid URI is associated with each hyperlink--it doesn't care how the URI was generated."}, {"answer_text"=>"only (c)", "correct"=>false, "explanation"=>"As 'rake routes' on your Rails app shows, different routes can have the same URI as long as they use different HTTP methods.  The route helpers provided by Rails are a convenience, but the browser only cares whether a valid URI is associated with each hyperlink--it doesn't care how the URI was generated."}, {"answer_text"=>"only (a) and (b)", "correct"=>false, "explanation"=>"As 'rake routes' on your Rails app shows, different routes can have the same URI as long as they use different HTTP methods.  The route helpers provided by Rails are a convenience, but the browser only cares whether a valid URI is associated with each hyperlink--it doesn't care how the URI was generated."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"73ca536f-1278-4a43-a96f-e3fe04d5aa96", "question_comment"=>"", "question_text"=>"Which statements are TRUE:\na) A route consists of both a URI and an HTTP method\nb)  A route URI MUST be generated by Rails URI helpers\nc) A route URI MAY be generated by Rails URI helpers", "multiple"=>true, "randomize"=>false, "uid"=>"42cd2542-23dd-4851-9966-c2e66764b131", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>= form_tag movies_path do ... end</tt>", "correct"=>true, "explanation"=>"All that is required by the browser is a <tt><form></tt> tag with an <tt>action</tt> attribute whose value is the submission URI and whose <tt>method</tt> attribute names the HTTP method (GET or POST) for submitting the form.  All three versions of the code above would generate a tag with these attributes and values."}, {"answer_text"=>"<tt>%form{:action => movies_path, :method => :post}</tt>", "correct"=>true, "explanation"=>"All that is required by the browser is a <tt><form></tt> tag with an <tt>action</tt> attribute whose value is the submission URI and whose <tt>method</tt> attribute names the HTTP method (GET or POST) for submitting the form.  All three versions of the code above would generate a tag with these attributes and values."}, {"answer_text"=>"<tt>%form{:action => 'movies', :method => 'post'}", "correct"=>true, "explanation"=>"All that is required by the browser is a <tt><form></tt> tag with an <tt>action</tt> attribute whose value is the submission URI and whose <tt>method</tt> attribute names the HTTP method (GET or POST) for submitting the form.  All three versions of the code above would generate a tag with these attributes and values."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1ade0da9-b7e6-407d-8de8-e9014dd1837c", "question_comment"=>"", "question_text"=>"Which of these would be valid Haml for generating the form that, when submitted, would call the Create New Movie action?", "multiple"=>true, "randomize"=>false, "uid"=>"35ea31ca-4ed1-4a9f-855a-8b95d63569a4", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"True - but a bad idea", "correct"=>true, "explanation"=>"It is true that you CAN put arbitrary objects into a hash, and in this respect the session hash is no different.  However, the session has to be serialized into an object that can either be stored in the database or passed directly to the client as a cookie, and because of the size limits on such objects, it's best not to stuff a lot of data into the session hash."}, {"answer_text"=>"True - no problem with this", "correct"=>false, "explanation"=>"It is true that you CAN put arbitrary objects into a hash, and in this respect the session hash is no different.  However, the session has to be serialized into an object that can either be stored in the database or passed directly to the client as a cookie, and because of the size limits on such objects, it's best not to stuff a lot of data into the session hash."}, {"answer_text"=>"False - because you can't put arbitrary objects into a hash", "correct"=>false, "explanation"=>"It is true that you CAN put arbitrary objects into a hash, and in this respect the session hash is no different.  However, the session has to be serialized into an object that can either be stored in the database or passed directly to the client as a cookie, and because of the size limits on such objects, it's best not to stuff a lot of data into the session hash."}, {"answer_text"=>"False - because <tt>session</tt> isn't really a hash, it just quacks like one", "correct"=>false, "explanation"=>"It is true that you CAN put arbitrary objects into a hash, and in this respect the session hash is no different.  However, the session has to be serialized into an object that can either be stored in the database or passed directly to the client as a cookie, and because of the size limits on such objects, it's best not to stuff a lot of data into the session hash."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"93aa8c93-6b69-4991-b2ad-dfac96f92af6", "question_comment"=>"", "question_text"=>"Ben Bitdiddle says: \"You can put arbitrary objects (not just \"simple\" ones like ints and strings) into the <tt>session[]</tt>.\"  What do you think?", "multiple"=>false, "randomize"=>false, "uid"=>"46ac05ac-62fa-4ab2-9f35-b2678b40fbd7", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Only this request: once the view is rendered, the variable is reset to nil", "correct"=>true, "explanation"=>"No matter how the request ends, once it's over, it's over.  The controller instance dedicated to handling this request (and therefore its instance variables) is destroyed once the request finishes."}, {"answer_text"=>"This request and all subsequent requests", "correct"=>false, "explanation"=>"No matter how the request ends, once it's over, it's over.  The controller instance dedicated to handling this request (and therefore its instance variables) is destroyed once the request finishes."}, {"answer_text"=>"Only this request and the next request", "correct"=>false, "explanation"=>"No matter how the request ends, once it's over, it's over.  The controller instance dedicated to handling this request (and therefore its instance variables) is destroyed once the request finishes."}, {"answer_text"=>"This request and the next request, but only if this request ends in a redirect rather than rendering a view", "correct"=>false, "explanation"=>"No matter how the request ends, once it's over, it's over.  The controller instance dedicated to handling this request (and therefore its instance variables) is destroyed once the request finishes."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4109933b-711e-4aa0-af26-4db6e6d24e28", "question_comment"=>"", "question_text"=>"If you set an instance variable in a controller method, for how long will its value be retained?", "multiple"=>false, "randomize"=>false, "uid"=>"0d8af500-008f-4304-b480-40cd87d4bd61", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Ensure a route exists in <tt>config/routes.rb</tt>", "correct"=>true, "explanation"=>"A route is always necessary, although it may already be covered by route helpers such as <tt>resources</tt> that generate multiple routes from a single route declaration.  A template MAY be necessary, but some actions will end with a <tt>redirect_to</tt> instead, so this step is not always necessary.  Similarly, URI helpers are an optional convenience, but the app will work just fine without them."}, {"answer_text"=>"Ensure there is a template to render in <tt>app/views/movies/foo.html.haml</tt> (or <tt>.html.erb</tt>, etc.)", "correct"=>false, "explanation"=>"A route is always necessary, although it may already be covered by route helpers such as <tt>resources</tt> that generate multiple routes from a single route declaration.  A template MAY be necessary, but some actions will end with a <tt>redirect_to</tt> instead, so this step is not always necessary.  Similarly, URI helpers are an optional convenience, but the app will work just fine without them."}, {"answer_text"=>"Implement helper method(s) to generate the necessary route helper URI(s)", "correct"=>false, "explanation"=>"A route is always necessary, although it may already be covered by route helpers such as <tt>resources</tt> that generate multiple routes from a single route declaration.  A template MAY be necessary, but some actions will end with a <tt>redirect_to</tt> instead, so this step is not always necessary.  Similarly, URI helpers are an optional convenience, but the app will work just fine without them."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b01e2e2c-3949-4167-afef-349e8b59a00c", "question_comment"=>"", "question_text"=>"Which steps are ALWAYS required when adding a new action <tt>foo</tt> to the MoviesController?", "multiple"=>true, "randomize"=>false, "uid"=>"d9df06b7-3edf-48cf-b018-3069d868c8ff", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>movie.update_attribute(:title, \"T2\")</tt>", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>Movie.where(:title => \"Terminator 2\").update_attribute(:title, \"T2\")</tt>", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>movie.title = \"T2\"</tt>", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1d76731e-8ab2-4f0d-ba3d-427681404c1d", "question_comment"=>"", "question_text"=>"\nConsider the following code, and assume the database contains exactly one movie whose title is \"Terminator 2\":\n<pre>\nmovie = Movie.where(:title => \"Terminator 2\")\n__________\nMovie.find(movie.id).title   # => returns \"T2\"\n</pre>\nWhich code snippets below, if used to fill in the blank, would cause <tt>movie.title</tt> to return \"T2\"?", "multiple"=>true, "randomize"=>false, "uid"=>"4e67492b-4bcb-4d07-b476-e5bb8ec006a3", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/event/:id", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/event/:id/edit", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/event/new", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/events", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"eeb18c9a-78b6-4b0c-ac1e-12a8800e751a", "question_comment"=>"", "question_text"=>"Which paths does <pre>resources :events</pre> NOT generate?", "multiple"=>true, "randomize"=>true, "uid"=>"bfb746db-40c2-4ca1-ab2e-aeab69df206c", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/earths", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/earths/:id/edit", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/earth", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"/earth/edit", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8511a604-8eab-4289-9a27-8ff9cdf614a9", "question_comment"=>"", "question_text"=>"Which paths does <pre>resources :earth</pre> NOT generate?", "multiple"=>true, "randomize"=>true, "uid"=>"bf0de83c-3d77-4fd6-8659-d50708c5c2d1", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/events", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/events/:event_id/photos/:id", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/events/:event_id/photos", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"/photos/:id", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b40e0126-7d07-427b-9f9d-d985c37cb67d", "question_comment"=>"", "question_text"=>"Which paths does the following generate?\n    <pre>\n    resources :events do\n      resources :photos\n    end\n    </pre>", "multiple"=>true, "randomize"=>true, "uid"=>"7a3480ed-278f-4e74-ab2e-b15fe26b9882", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"/route/i", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b8131606-503a-4417-9f62-1fed3fefb3d8", "question_comment"=>"", "question_text"=>"Adding a new action to your Rails app requires adding a --- to map the URI.", "order"=>false, "case_sensitive"=>false, "uid"=>"eb3f6f5e-99b4-4d3e-b961-6deb47c23591", "question_type"=>"FillIn"}
{"answers"=>[{"answer_text"=>"True", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"False", "correct"=>false, "explanation"=>""}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2f3cbeb5-02c2-400d-8d6a-e91462192aa4", "question_comment"=>"", "question_text"=>"True or False: True or False: As long as you set up the correct routes, you can choose names other than show, create, and so on for the basic CRUD methods in a controller.True", "question_type"=>"TrueFalse"}
{"answers"=>[{"answer_text"=>"Only (a) and (b)", "correct"=>true, "explanation"=>"The action would have the option of reusing an existing view, by either redirecting to it or rendering it explicitly.  But the action definitely needs its own route and controller method."}, {"answer_text"=>"Only (b) and (c)", "correct"=>false, "explanation"=>"The action would have the option of reusing an existing view, by either redirecting to it or rendering it explicitly.  But the action definitely needs its own route and controller method."}, {"answer_text"=>"Only (b)", "correct"=>false, "explanation"=>"The action would have the option of reusing an existing view, by either redirecting to it or rendering it explicitly.  But the action definitely needs its own route and controller method."}, {"answer_text"=>"(a), (b) and (c)", "correct"=>false, "explanation"=>"The action would have the option of reusing an existing view, by either redirecting to it or rendering it explicitly.  But the action definitely needs its own route and controller method."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ba886d6a-1574-4dbd-b764-7f506be58072", "question_comment"=>"", "question_text"=>"We want to add a new action \"get_recent_movies\" to RottenPotatoes, to list only movies released in the last month.  We MUST create which of the following:  (a) a route, (b) a controller method, (c) a view?", "multiple"=>true, "randomize"=>false, "uid"=>"84c54e89-00e5-4411-8a95-5930a13be764", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"(?i-mx:controller)", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e89fea89-0701-4668-9d86-6ca244464275", "question_comment"=>"", "question_text"=>"Adding a new action to your Rails app requires adding a method to the --- to perform the action itself.", "order"=>false, "case_sensitive"=>false, "uid"=>"e60f30a8-7edc-405f-ab87-48a1b365721a", "question_type"=>"FillIn"}
{"answers"=>[{"answer_text"=>"Makes the message available to whatever view is rendered for this action", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persists the message until the next request", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Writes a message to the log", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d952fe05-3173-4519-a5da-faf780df7030", "question_comment"=>"", "question_text"=>"What does line 4 do in the following code?\n<pre>\n1 class PostsController < ActionController::Base\n2   def add_post\n3     # ...code to create new blog post...\n4     flash[:notice] = \"Post added successfully\"\n5     redirect_to posts_url\n6   end\n7 end\n</pre>", "multiple"=>true, "randomize"=>false, "uid"=>"61929f57-5d2c-4283-a913-f2298023e395", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Cookies", "correct"=>true, "explanation"=>"All Ruby variables associated with the controller, whether instance or class, are created anew on every request."}, {"answer_text"=>"The session[] hash", "correct"=>true, "explanation"=>"All Ruby variables associated with the controller, whether instance or class, are created anew on every request."}, {"answer_text"=>"Instance variables set by a controller method", "correct"=>false, "explanation"=>"All Ruby variables associated with the controller, whether instance or class, are created anew on every request."}, {"answer_text"=>"Class variables set by a controller method", "correct"=>false, "explanation"=>"All Ruby variables associated with the controller, whether instance or class, are created anew on every request."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"01f0f55b-f968-4fed-a2bd-9660dd7f8aba", "question_comment"=>"", "question_text"=>"Which of the following can be used to store state ACROSS requests from the same user?", "multiple"=>true, "randomize"=>true, "uid"=>"d6ef8dd0-a9c2-481a-bf4a-a11d9375b32d", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"This request and the next request", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"This request only", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"This request and all subsequent requests", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1835b97e-c15d-4283-8dc5-4df0436bfe64", "question_comment"=>"", "question_text"=>"If a controller action assigns a value to <tt>flash[:notice]</tt>, that value is accessible to a view during:", "multiple"=>false, "randomize"=>false, "uid"=>"31dc47d4-dd31-41fb-aece-47aea3ebd2d0", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"This request only", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"This request and the next request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"This request and all subsequent requests", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f646514b-db8a-446c-8081-eb85154cab5b", "question_comment"=>"", "question_text"=>"If a controller action assigns a value to <tt>flash.now[:notice]</tt>, that value is accessible to a view during:", "multiple"=>false, "randomize"=>false, "uid"=>"3ff28a97-5d26-4b8b-8b1e-c406ff6d46d5", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"This request only", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"This request and the next request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"This request and all subsequent requests", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e6641a7c-cef1-43ec-92b5-621ddf38800f", "question_comment"=>"", "question_text"=>"If a submitted form populates <tt>params['movie']['title']</tt> with user-entered values, those values are accessible to the controller action during:", "multiple"=>false, "randomize"=>false, "uid"=>"d595e46c-dad8-439a-82ab-9476f2104268", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Views rendered for this request only", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Views rendered for this request and the next request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Views rendered for this request and all subsequent requests", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6d276453-841d-437d-94bd-52b93cf274a9", "question_comment"=>"", "question_text"=>"If a controller action sets an instance variable, the instance variable's value is accessible to:", "multiple"=>false, "randomize"=>false, "uid"=>"89958708-243f-4474-8931-0c3680817084", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>params[]</tt>", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"routes", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>session[]</tt>", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"<tt>flash[]</tt>", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"controller instance variables", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3e84bff2-a977-48a2-8137-3b932a55093a", "question_comment"=>"", "question_text"=>"Which Rails features facilitate passing user-entered information FROM the view TO the controller?", "multiple"=>true, "randomize"=>false, "uid"=>"1d076bfc-2892-4b28-b8a2-8c2a93339964", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"controller instance variables", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>params[]</tt>", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"routes", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"<tt>session[]</tt>", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"<tt>flash[]</tt>", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d99163a1-faa5-4e07-baa6-31be8f124874", "question_comment"=>"", "question_text"=>"Which Rails features facilitate passing model information FROM the controller TO the view?", "multiple"=>true, "randomize"=>false, "uid"=>"41027bf1-bf9f-4cae-975c-59b6eb42c357", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"because <tt>movies_path</tt> refers to a whole collection of resources\n              rather than a single resource, whereas the other two refer\n              to a single resource and so need an argument to  specify\n              which resource", "correct"=>true, "explanation"=>"To edit or show details of a movie, a RESTful URI must specify which\n    one, so the helpers take an ActiveRecord model object and encode its\n    ID into the URI.  To list all movies, the URI need not include any\n    movie ID."}, {"answer_text"=>"because the latter is a class method but the former two are instance methods", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"because the argument to <tt>movies_path</tt> is supplied implicitly via\n              convention-over-configuration", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a3c383da-4523-43d7-9014-60ab90f90e84", "question_comment"=>"", "question_text"=>"Why do the RESTful URI helpers <tt>edit_movie_path</tt> and\n  <tt>movie_path</tt> require an argument, whereas the helper <tt>movies_path</tt>\n  requires no argument?  Check all that apply:", "multiple"=>true, "randomize"=>false, "uid"=>"8e0112f0-9bf0-4363-8b80-9b987388423a", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"\"NC-17\" will be printed", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"\"X\" will be printed", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"An error message will be printed after <tt>save!</tt>, because 'X' is not a valid rating", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"An error message will be printed when <tt>make_adult</tt> is called, because ActiveRecord attributes can't be modified directly", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3a3b6a75-cd20-4a56-a531-810efaf755ed", "question_comment"=>"", "question_text"=>"Given a <tt>movies</tt> table with columns for <tt>title</tt> and <tt>rating</tt>, and containing a row for the movie \"Carrie\" with the rating \"R\", what will be printed by the following code:\n<pre>\nclass Movie < ActiveRecord::Base\n  def make_adult\n    @rating = 'X'\n  end\nend\n\nm = Movie.find_by_title(\"Carrie\")\nm.make_adult\nm.save!\n\nputs Movie.find_by_title(\"Carrie\").rating\n</pre>\n", "multiple"=>false, "randomize"=>true, "uid"=>"8297b156-b6c6-4b8d-8c16-07a85785a20e", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>Movie.find_by_name('Carrie').update_attributes!(:rating => 'R')", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>Movie.where('name = :name', :name => 'Carrie').update_attributes!(:rating => 'R')", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>h = {:rating => 'R'} ; Movie.where('name = \"Carrie\"').update_attributes!(h)</tt>", "correct"=>true, "explanation"=>"The argument of <tt>update_attributes</tt> is just a hash, so it's fine to assign it to a variable instead of passing it using poetry mode."}, {"answer_text"=>"<tt>m = Movie.find_by_name('Carrie') ; m.rating = 'R'</tt>", "correct"=>false, "explanation"=>"The database isn't updated until we call <tt>save</tt> or <tt>save!</tt>"}, {"answer_text"=>"<tt>Movie.find_all_by_name('Carrie').update_attributes!(:rating => 'R')</tt>", "correct"=>false, "explanation"=>"<tt>find_all_by_*</tt> return an enumerable collection, not a single object, so we can't call <tt>update_attributes!</tt> on it."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"77172a53-9054-4fb0-bbe0-25eb7fe39bd9", "question_comment"=>"", "question_text"=>"Given a <tt>movies</tt> table with columns for <tt>title</tt> and <tt>rating</tt>, and containing a row for the movie \"Carrie\" with the rating \"NC-17\", which of the following expressions will change the in-database copy to have the rating \"R\"?  (Assume <tt>Movie</tt> inherits from <tt>ActiveRecord::Base</tt> as usual.)", "multiple"=>true, "randomize"=>false, "uid"=>"3d4fd6db-6ba1-48b9-ba65-30b60995e58a", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"(ii)", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"(i)", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"(i) and (ii)", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"(ii) and (iii)", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3eb1f797-24f5-4a9c-a318-e2d1ab8dd634", "question_comment"=>"", "question_text"=>"Consider the following model: \n  \t\n  \t<pre>\n  \t# == Schema Information\n    #\n    # Table name: events\n    #\n    #  created_at       :datetime         not null\n    #  description      :text\n    #  id               :integer          not null, primary key\n    #  location         :string(255)\n    #  name             :string(255)\n    #  rsvp_count       :integer\n    #  updated_at       :datetime         not null\n    #\n  \tclass Event < ActiveRecord::Base\n      attr_accessible :description, :name, :location\n      validates :name, :description, :presence => true\n  \tend\n  \t</pre>\n  \t\n  \tWhich of the following will properly add a new entry to the database?\n  \t\n  \t(i)\n  \t<pre>\n\t\t  calapalooza = Event.new(:name => 'Calapalooza', :rsvp_count => 2, :location => 'Upper Sproul', :description => 'Calapalooza is Berkeley's annual new student activity fair, the heart of your Welcome experience.')\n\t\t  calapalooza.save\n  \t</pre>\n\t\n  \t(ii)\n  \t<pre>\n  \t\tcalapalooza = Event.new\n  \t\tcalapalooza.name = 'Calapalooza'\n  \t\tcalapalooza.location = 'Upper Sproul'\n  \t\tcalapalooza.description = 'Calapalooza is Berkeley's annual new student activity fair, the heart of your Welcome experience.'\n  \t\tcalapalooza.save\n  \t</pre>\n\t\n  \t(iii)\n  \t<pre>\n  \t\tcalapalooza = Event.new(:location => 'Upper Sproul', :description => 'Calapalooza is Berkeley's annual new student activity fair, the heart of your Welcome experience.')\n  \t\tcalapalooza.rsvp_count = 2\n  \t\tcalapalooza.save\n  \t</pre>", "multiple"=>true, "randomize"=>true, "uid"=>"8ef3b306-4ee9-4740-b520-575514857e24", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"(i) and (ii)", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"(i) and (iii)", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"(ii) and (iii)", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"(i), (ii), and (iii)", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d998f218-0b32-42b7-8302-a4844014ff6d", "question_comment"=>"", "question_text"=>"Consider the following sets of code: \n  \t(i)\n  \t<pre>\n  \t\tbatman_begins = Movie.create(:title => 'Batman Begins', :release_date => '6/15/2005', :rating => 'PG-13')\n  \t</pre>\n\t\n  \t(ii)\n  \t<pre>\n  \t\tdark_knight = Movie.new\n  \t\tdark_knight.title = 'The Dark Knight'\n  \t\tdark_knight.release_date = '7/18/2008'\n  \t\tdark_knight.rating = 'PG-13'\n  \t\tdark_knight.save!\n  \t</pre>\n\t\n  \t(iii)\n  \t<pre>\n  \t\tdark_knight_rises = Movie.create\n  \t\tdark_knight_rises.title = 'The Dark Knight Rises'\n  \t\tdark_knight_rises.release_date = '7/20/2012'\n  \t\tdark_knight_rises.rating = 'PG-13'\n  \t</pre>\n  \tWhich of the following will properly add a new movie entry to the database ?", "multiple"=>true, "randomize"=>true, "uid"=>"94ffa433-f92f-49bf-8f45-55f47f5895c8", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"True", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"False", "correct"=>false, "explanation"=>""}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c0880e68-4628-4491-8bc9-601a42548ee5", "question_comment"=>"", "question_text"=>"True or False: True or False: You cannot call a model method from a view.False", "question_type"=>"TrueFalse"}
{"answers"=>[{"answer_text"=>"params['title']", "correct"=>true, "explanation"=>"Form parameters always get put into <tt>params</tt>, which quacks like a hash."}, {"answer_text"=>"session['title']", "correct"=>false, "explanation"=>"Form parameters always get put into <tt>params</tt>, which quacks like a hash."}, {"answer_text"=>"session.title", "correct"=>false, "explanation"=>"Form parameters always get put into <tt>params</tt>, which quacks like a hash."}, {"answer_text"=>"params.title", "correct"=>false, "explanation"=>"Form parameters always get put into <tt>params</tt>, which quacks like a hash."}, {"answer_text"=>"All of the above", "correct"=>false, "explanation"=>"Form parameters always get put into <tt>params</tt>, which quacks like a hash."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8582af96-ce1b-4fc2-b0a1-dfa09910a25e", "question_comment"=>"", "question_text"=>"A user submits a new movie form. How would the associated controller access the title of the movie?", "multiple"=>false, "randomize"=>false, "uid"=>"27c3d8a8-c714-4049-9376-6085df654ad1", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>redirect_to</tt> results in generating a new HTTP request", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"<tt>render</tt> results in generating a new HTTP request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"<tt>render</tt> immediately aborts the current action", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"<tt>redirect_to</tt> immediately aborts the current action", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c27ca5b4-81e1-4fa9-9060-c280e5f593e8", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding render and redirect_to?", "multiple"=>true, "randomize"=>true, "uid"=>"f5beede2-4119-423f-a71d-cd1f74a9ae03", "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"b4655a8e-bffd-4e6e-8c8f-b367864a35b6", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e99f90a3-d3bc-48dd-945e-870f539ac914", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"b4655a8e-bffd-4e6e-8c8f-b367864a35b6", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e99f90a3-d3bc-48dd-945e-870f539ac914", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"91e0ea9a-73c1-408a-b69a-9b9a1936f0a2", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4e869ac3-4aef-4def-82a6-ecca49aedba5", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"91e0ea9a-73c1-408a-b69a-9b9a1936f0a2", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4e869ac3-4aef-4def-82a6-ecca49aedba5", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"9e6844d7-261f-46e3-92cf-1fe457b2616e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4809fa16-02ec-42d3-92f0-9f996a6bc234", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"9e6844d7-261f-46e3-92cf-1fe457b2616e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4809fa16-02ec-42d3-92f0-9f996a6bc234", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"24dff7bd-97ff-4173-bef3-12432a2c1687", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"294c4664-eb28-48c1-aa2f-a213b5731c60", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"24dff7bd-97ff-4173-bef3-12432a2c1687", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"294c4664-eb28-48c1-aa2f-a213b5731c60", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"68c7c5c4-4dec-4732-b016-abc7b3f11826", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3ef31aac-7c57-4655-8531-f458961870aa", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"68c7c5c4-4dec-4732-b016-abc7b3f11826", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3ef31aac-7c57-4655-8531-f458961870aa", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"07e0809c-1702-45f1-a3b9-629d7fcea972", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7d6a96ea-d499-499d-84db-1a0227efe5da", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"07e0809c-1702-45f1-a3b9-629d7fcea972", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Hawaii", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Texas", "correct"=>false, "explanation"=>"That's pretty big, but think colder."}, {"answer_text"=>"Alaska", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>"Not big enough.", "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7d6a96ea-d499-499d-84db-1a0227efe5da", "question_comment"=>"", "question_text"=>"What is the largest US state?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c302b9bd-57d8-4578-8f56-ea266bb8a829", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"21462aab-69e3-4789-9795-d2ef99e25cda", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c302b9bd-57d8-4578-8f56-ea266bb8a829", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"21462aab-69e3-4789-9795-d2ef99e25cda", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"19f1498b-b3df-4f59-a7ef-df03706de5cb", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"833971b7-0255-455e-bf21-dc027bd35bf9", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"19f1498b-b3df-4f59-a7ef-df03706de5cb", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"833971b7-0255-455e-bf21-dc027bd35bf9", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9e310999-c01e-4a63-84df-252f4e03147d", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"de518a86-757b-4102-918b-9b60f3c99d7e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9e310999-c01e-4a63-84df-252f4e03147d", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"de518a86-757b-4102-918b-9b60f3c99d7e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"023423db-1e44-4078-8ade-948d79251408", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"e07940e1-77df-49ff-bc87-a8fe064fbfe0", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"023423db-1e44-4078-8ade-948d79251408", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"e07940e1-77df-49ff-bc87-a8fe064fbfe0", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"17170c5d-95a5-4892-88ab-c4d73d5e2f59", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"060ce745-31a4-4c62-bf59-3a50569afde9", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"17170c5d-95a5-4892-88ab-c4d73d5e2f59", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"060ce745-31a4-4c62-bf59-3a50569afde9", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"179771ac-77ce-4023-863e-1487fa39161e", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"6aa4ec41-3360-43b7-84e4-48694d5882aa", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"179771ac-77ce-4023-863e-1487fa39161e", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"6aa4ec41-3360-43b7-84e4-48694d5882aa", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f8826e9a-64df-479a-99e6-9fe89e6efb12", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"a306296b-f8f0-4885-ab83-8a020dbdaa06", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f8826e9a-64df-479a-99e6-9fe89e6efb12", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"a306296b-f8f0-4885-ab83-8a020dbdaa06", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b6a83d32-5062-4aec-84a7-1b1678fa7ced", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"18849630-3d3b-4d2d-ab99-0b007f0679fd", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b6a83d32-5062-4aec-84a7-1b1678fa7ced", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"18849630-3d3b-4d2d-ab99-0b007f0679fd", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cc88e50d-7c62-4f47-9a71-7cc12a5d9c5d", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"b5f94417-428c-44c1-8842-98b21eec5f3e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cc88e50d-7c62-4f47-9a71-7cc12a5d9c5d", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"b5f94417-428c-44c1-8842-98b21eec5f3e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9fb39efa-0ccb-4b5c-8b33-e556788f6667", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"1406f56d-cc7a-4cff-8e90-ae12c02b7ad0", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9fb39efa-0ccb-4b5c-8b33-e556788f6667", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"1406f56d-cc7a-4cff-8e90-ae12c02b7ad0", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a4474dee-529d-464f-a1c5-e919f92a104a", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"18ffa1c9-1a41-4f51-840a-a0bdfbea3a07", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a4474dee-529d-464f-a1c5-e919f92a104a", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"18ffa1c9-1a41-4f51-840a-a0bdfbea3a07", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"42bcbee9-d9f0-45ef-a169-7404012da563", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"5f7fb2ad-b2aa-470d-98cf-12af97527e43", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"42bcbee9-d9f0-45ef-a169-7404012da563", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"5f7fb2ad-b2aa-470d-98cf-12af97527e43", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"887a97be-5f01-4c1b-83a3-8399d452badf", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"a0ab3d99-e00d-4da8-a1b2-51015602178b", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"\n<pre>\ndef silly_fortune_1\n  @fortune_text + 'in bed'\nend\n</pre>", "correct"=>true, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_2\n  self.fortune_text + 'in bed'\nend\n</pre>\n", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"\n<pre>\ndef silly_fortune_3\n  fortune_text + 'in bed'\nend\n</pre>", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}, {"answer_text"=>"They will all return a silly fortune", "correct"=>false, "explanation"=>"\nActiveRecord's accessors (getters and setters) do NOT just manipulate instance variables the way <tt>attr_accessor</tt>'s do.  Instead, ActiveRecord's accessors read or set the value that will be persisted to the database, and ActiveRecord has its own internal representations of these values.  Hence we should not assume that <tt>@fortune_text</tt> is a regular Ruby instance variable.  <tt>self.fortune_text</tt> is a synonym for <tt>fortune_text</tt>, since a method call with no explicit receiver assumes a receiver of <tt>self</tt>, whose value in this example is the model instance on which the accessor is called.\n"}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"887a97be-5f01-4c1b-83a3-8399d452badf", "question_comment"=>"", "question_text"=>"\nAssume table <tt>fortune_cookies</tt> has column <tt>fortune_text</tt>.\nWhich of these instance methods of <tt>class FortuneCookie < ActiveRecord::Base</tt> will NOT return a silly fortune (if any)?\n", "multiple"=>false, "randomize"=>false, "uid"=>"0e555263-369a-4d9c-8cdb-9a4102a05edf", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"a0ab3d99-e00d-4da8-a1b2-51015602178b", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"a543ccad-f9a6-48c5-afd6-8b65217ff983", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"a543ccad-f9a6-48c5-afd6-8b65217ff983", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"8140e2be-5645-4b9e-acc9-415cac6ee253", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"8140e2be-5645-4b9e-acc9-415cac6ee253", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"d00e5948-26f8-4f64-9b38-0f4c9713f59c", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"d00e5948-26f8-4f64-9b38-0f4c9713f59c", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"e312c7a9-d393-48ed-9689-1ef917a5139f", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"e312c7a9-d393-48ed-9689-1ef917a5139f", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"0b8e338f-4ce2-4912-90aa-114068301645", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"0b8e338f-4ce2-4912-90aa-114068301645", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"b80189ab-c0c3-42cf-8122-a00f5b85008a", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"b80189ab-c0c3-42cf-8122-a00f5b85008a", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"c37e5e0e-bb04-418c-ad31-d9991cb8457e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"c37e5e0e-bb04-418c-ad31-d9991cb8457e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8017557e-760a-47cb-9815-79456c139395", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8017557e-760a-47cb-9815-79456c139395", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1277acae-d4fd-4d61-9588-74a83d8695a2", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1277acae-d4fd-4d61-9588-74a83d8695a2", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a15f07c0-7e59-4747-95c9-289887ba21ac", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a15f07c0-7e59-4747-95c9-289887ba21ac", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a15f07c0-7e59-4747-95c9-289887ba21ac", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a17687ac-3306-4712-a620-83b805b599ac", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a17687ac-3306-4712-a620-83b805b599ac", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a17687ac-3306-4712-a620-83b805b599ac", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3af8fb44-3a66-4484-b4c0-659ed0be38c7", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8dcaf6f2-9faf-40b5-8558-02fc922e1ce8", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8dcaf6f2-9faf-40b5-8558-02fc922e1ce8", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8dcaf6f2-9faf-40b5-8558-02fc922e1ce8", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c80bc7d0-1b68-4ba1-a09d-a45def335168", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c80bc7d0-1b68-4ba1-a09d-a45def335168", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"14f1424c-9777-4d3e-8d88-83bd460013f9", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8b40fe47-73c1-46ca-ae32-2501fea57946", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8b40fe47-73c1-46ca-ae32-2501fea57946", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"068ae1b8-64e6-415e-a5ce-b42db7895246", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1221744f-d40f-4b71-a573-1fdda916983f", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f1e51ff2-921e-4fe2-9766-aeb4fc147428", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f1e51ff2-921e-4fe2-9766-aeb4fc147428", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fb6b720e-d590-4d01-8583-2cc3441f42e9", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4311158d-36b8-416f-bad4-58874387ddf6", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"49529578-7f28-4a80-aca3-40d9dd2454cc", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a15f07c0-7e59-4747-95c9-289887ba21ac", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a17687ac-3306-4712-a620-83b805b599ac", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3af8fb44-3a66-4484-b4c0-659ed0be38c7", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8dcaf6f2-9faf-40b5-8558-02fc922e1ce8", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c80bc7d0-1b68-4ba1-a09d-a45def335168", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"14f1424c-9777-4d3e-8d88-83bd460013f9", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8b40fe47-73c1-46ca-ae32-2501fea57946", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"068ae1b8-64e6-415e-a5ce-b42db7895246", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1221744f-d40f-4b71-a573-1fdda916983f", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f1e51ff2-921e-4fe2-9766-aeb4fc147428", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fb6b720e-d590-4d01-8583-2cc3441f42e9", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4311158d-36b8-416f-bad4-58874387ddf6", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"49529578-7f28-4a80-aca3-40d9dd2454cc", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"83deff01-8148-4522-9623-ed8ce9d98b29", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"83deff01-8148-4522-9623-ed8ce9d98b29", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"83deff01-8148-4522-9623-ed8ce9d98b29", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"54e8e6f0-f029-4eee-b463-fbc4d0470904", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"54e8e6f0-f029-4eee-b463-fbc4d0470904", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"54e8e6f0-f029-4eee-b463-fbc4d0470904", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"39ea9b47-6929-4631-b7cc-0bc4c5a8f40a", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"13fe3c53-0761-447b-b7ab-8d9b92f9221f", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"13fe3c53-0761-447b-b7ab-8d9b92f9221f", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"13fe3c53-0761-447b-b7ab-8d9b92f9221f", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"99c3a2e3-f024-4afc-99b1-37c83a1b29db", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"99c3a2e3-f024-4afc-99b1-37c83a1b29db", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"63d1dea1-d7f1-47b1-88c9-2bf45262d573", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"063851cf-d790-4b21-b340-b0eadb834403", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"063851cf-d790-4b21-b340-b0eadb834403", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f66b8d80-6cbd-446c-b85b-f8502966fb85", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4128eef0-d942-4f9e-94d0-3af3fc33bf1c", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a3d7b56d-f5f0-4184-91bc-733e8323ba62", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a3d7b56d-f5f0-4184-91bc-733e8323ba62", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0ad1fada-56f9-464d-be0c-89f1008492ca", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9177ead3-3fbd-4da2-9998-e7e7874cb150", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"48dd96f9-335b-4d21-8e3e-ee095f9493c9", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"83deff01-8148-4522-9623-ed8ce9d98b29", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"54e8e6f0-f029-4eee-b463-fbc4d0470904", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"39ea9b47-6929-4631-b7cc-0bc4c5a8f40a", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"13fe3c53-0761-447b-b7ab-8d9b92f9221f", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"99c3a2e3-f024-4afc-99b1-37c83a1b29db", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"63d1dea1-d7f1-47b1-88c9-2bf45262d573", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"063851cf-d790-4b21-b340-b0eadb834403", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f66b8d80-6cbd-446c-b85b-f8502966fb85", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4128eef0-d942-4f9e-94d0-3af3fc33bf1c", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a3d7b56d-f5f0-4184-91bc-733e8323ba62", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0ad1fada-56f9-464d-be0c-89f1008492ca", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9177ead3-3fbd-4da2-9998-e7e7874cb150", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"48dd96f9-335b-4d21-8e3e-ee095f9493c9", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8dd38f3d-4762-4077-8bfa-5a5a02173c84", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8dd38f3d-4762-4077-8bfa-5a5a02173c84", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8dd38f3d-4762-4077-8bfa-5a5a02173c84", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"45869299-d186-4849-a565-847db0743569", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"45869299-d186-4849-a565-847db0743569", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"45869299-d186-4849-a565-847db0743569", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6a6bdc45-f1ff-40d2-96f1-c2137580dbbf", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"940d55ba-8afb-459b-bb44-f53c47dd02e7", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"940d55ba-8afb-459b-bb44-f53c47dd02e7", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"940d55ba-8afb-459b-bb44-f53c47dd02e7", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"35e0befb-18cd-4dcb-9a6a-8ab6aee9f35f", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"35e0befb-18cd-4dcb-9a6a-8ab6aee9f35f", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6a947221-ee9a-4840-92ef-e9ce081d17ac", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0a306fff-fdf6-495d-bef6-328c96a5ed4d", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0a306fff-fdf6-495d-bef6-328c96a5ed4d", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"606f43f6-233b-4e24-abf1-efc9d2b9b085", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2c88924b-0494-4eaa-b586-f4d46f0b6bda", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"00ce88a1-19c5-4567-97e3-f5c12db8864f", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"00ce88a1-19c5-4567-97e3-f5c12db8864f", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8b158cd3-d67d-40e6-b80c-a142b25526f0", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0b1ee9eb-cda3-458c-8f4d-579b32c671bc", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1d8b5002-ed86-4009-9134-1e370f3cc640", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8dd38f3d-4762-4077-8bfa-5a5a02173c84", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"45869299-d186-4849-a565-847db0743569", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6a6bdc45-f1ff-40d2-96f1-c2137580dbbf", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"940d55ba-8afb-459b-bb44-f53c47dd02e7", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"35e0befb-18cd-4dcb-9a6a-8ab6aee9f35f", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6a947221-ee9a-4840-92ef-e9ce081d17ac", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0a306fff-fdf6-495d-bef6-328c96a5ed4d", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"606f43f6-233b-4e24-abf1-efc9d2b9b085", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2c88924b-0494-4eaa-b586-f4d46f0b6bda", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"00ce88a1-19c5-4567-97e3-f5c12db8864f", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8b158cd3-d67d-40e6-b80c-a142b25526f0", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0b1ee9eb-cda3-458c-8f4d-579b32c671bc", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1d8b5002-ed86-4009-9134-1e370f3cc640", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20d79567-074a-4b2b-9547-f979bc450c54", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20d79567-074a-4b2b-9547-f979bc450c54", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20d79567-074a-4b2b-9547-f979bc450c54", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5f7d0c6e-2ea4-42fc-9edd-7c3ca317acbb", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5f7d0c6e-2ea4-42fc-9edd-7c3ca317acbb", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5f7d0c6e-2ea4-42fc-9edd-7c3ca317acbb", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7b155e9e-e7a5-4428-ac78-b77859d5e7a1", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20e0d74a-77e0-4a8c-9e8b-21b826d3f884", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20e0d74a-77e0-4a8c-9e8b-21b826d3f884", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20e0d74a-77e0-4a8c-9e8b-21b826d3f884", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"509e367c-3f15-4b0c-8891-8fa3011b94da", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"509e367c-3f15-4b0c-8891-8fa3011b94da", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a7544136-2550-42c8-9248-17135cb352f1", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2900cb33-398e-4f37-bd56-ccf8644f71a0", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2900cb33-398e-4f37-bd56-ccf8644f71a0", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"61dd4f3a-14b0-4ea7-97a9-198d8d557a16", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1a3c7497-429c-4fbd-b37b-a8810388aa97", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3d6cfccf-3dec-425a-8272-e36793fa4ad2", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3d6cfccf-3dec-425a-8272-e36793fa4ad2", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5040bbe0-bff6-42aa-ab02-b8e44f38a69d", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ea57ff7b-a6fd-414e-976d-d65083760cff", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3490b331-1cb0-494e-b701-e3df5fb3aa22", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20d79567-074a-4b2b-9547-f979bc450c54", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5f7d0c6e-2ea4-42fc-9edd-7c3ca317acbb", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7b155e9e-e7a5-4428-ac78-b77859d5e7a1", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20e0d74a-77e0-4a8c-9e8b-21b826d3f884", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"509e367c-3f15-4b0c-8891-8fa3011b94da", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a7544136-2550-42c8-9248-17135cb352f1", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2900cb33-398e-4f37-bd56-ccf8644f71a0", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"61dd4f3a-14b0-4ea7-97a9-198d8d557a16", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1a3c7497-429c-4fbd-b37b-a8810388aa97", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3d6cfccf-3dec-425a-8272-e36793fa4ad2", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5040bbe0-bff6-42aa-ab02-b8e44f38a69d", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ea57ff7b-a6fd-414e-976d-d65083760cff", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3490b331-1cb0-494e-b701-e3df5fb3aa22", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a2ad02fc-33a3-46ec-aca0-799a7ae3ce11", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a2ad02fc-33a3-46ec-aca0-799a7ae3ce11", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a2ad02fc-33a3-46ec-aca0-799a7ae3ce11", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"96f0e6ba-d8c0-4a83-a48f-e72e6c483597", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"96f0e6ba-d8c0-4a83-a48f-e72e6c483597", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"96f0e6ba-d8c0-4a83-a48f-e72e6c483597", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b0da012-2587-4652-aced-cf742fd773a4", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bd577f5c-8fa4-4dd7-85d5-a8800f6886e2", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bd577f5c-8fa4-4dd7-85d5-a8800f6886e2", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bd577f5c-8fa4-4dd7-85d5-a8800f6886e2", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"07f724fc-de0f-47d1-9b0a-5e65fe59ac55", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"07f724fc-de0f-47d1-9b0a-5e65fe59ac55", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e3d32ed2-cf26-4bee-845e-c131a048560f", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"42235581-bf84-4cc9-87c4-84d6986ffa9f", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"42235581-bf84-4cc9-87c4-84d6986ffa9f", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d33bb6e7-5429-4800-88c8-9427ab428f8d", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e986930c-cbaa-4d14-bba6-0b3b1a23e187", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4e737e86-f77e-46e3-bb5f-ac6cdf7e256b", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4e737e86-f77e-46e3-bb5f-ac6cdf7e256b", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e8072ae2-cb0c-40eb-82b9-4dbc42ffe2eb", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"131432e6-974b-4357-9c24-c49bf473a73e", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"51222d47-f533-4146-bcb5-15a0403aed87", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a2ad02fc-33a3-46ec-aca0-799a7ae3ce11", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"96f0e6ba-d8c0-4a83-a48f-e72e6c483597", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b0da012-2587-4652-aced-cf742fd773a4", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bd577f5c-8fa4-4dd7-85d5-a8800f6886e2", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"07f724fc-de0f-47d1-9b0a-5e65fe59ac55", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e3d32ed2-cf26-4bee-845e-c131a048560f", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"42235581-bf84-4cc9-87c4-84d6986ffa9f", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d33bb6e7-5429-4800-88c8-9427ab428f8d", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e986930c-cbaa-4d14-bba6-0b3b1a23e187", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4e737e86-f77e-46e3-bb5f-ac6cdf7e256b", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e8072ae2-cb0c-40eb-82b9-4dbc42ffe2eb", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"131432e6-974b-4357-9c24-c49bf473a73e", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"51222d47-f533-4146-bcb5-15a0403aed87", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d1b8734f-4483-4704-812c-ba56f58c6274", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d1b8734f-4483-4704-812c-ba56f58c6274", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ea826aa1-3279-41f0-9a2a-cfc4611e0d81", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ea826aa1-3279-41f0-9a2a-cfc4611e0d81", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c60d2e7b-7775-4048-87e6-fd0b172892d4", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c60d2e7b-7775-4048-87e6-fd0b172892d4", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"745d993b-22b1-44a7-b637-75dfd25e5adf", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"745d993b-22b1-44a7-b637-75dfd25e5adf", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"db4a859d-4f64-4653-9b07-446dac527847", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"db4a859d-4f64-4653-9b07-446dac527847", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"db4a859d-4f64-4653-9b07-446dac527847", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a7540167-8787-4484-8d8f-e752c312923b", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a7540167-8787-4484-8d8f-e752c312923b", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a7540167-8787-4484-8d8f-e752c312923b", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f8c62353-3db3-413a-96e5-084e4902c30e", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"46712b91-4d28-4557-9e92-d0a9981cc217", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"46712b91-4d28-4557-9e92-d0a9981cc217", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"46712b91-4d28-4557-9e92-d0a9981cc217", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a7724498-9117-451b-9cf8-89b9b45a4eab", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a7724498-9117-451b-9cf8-89b9b45a4eab", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"05578086-b064-452e-b123-0c56ad91beff", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"79af87f2-3ced-4aff-9a39-130357ecb45d", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"79af87f2-3ced-4aff-9a39-130357ecb45d", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e96e7957-29fc-49a0-9c01-9732649a02c4", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8a9390dc-7a22-409d-a65b-9b36f90df219", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a4605e96-e14a-43de-a93e-378d4c0d8540", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a4605e96-e14a-43de-a93e-378d4c0d8540", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8c5641e3-2366-4535-b72a-eed0da3c6b25", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"31de278f-720a-4cc5-9d08-8bab1a5a28ac", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b150a8a-09f9-4909-aeae-6a174dbe29aa", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"db4a859d-4f64-4653-9b07-446dac527847", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a7540167-8787-4484-8d8f-e752c312923b", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f8c62353-3db3-413a-96e5-084e4902c30e", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"46712b91-4d28-4557-9e92-d0a9981cc217", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a7724498-9117-451b-9cf8-89b9b45a4eab", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"05578086-b064-452e-b123-0c56ad91beff", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"79af87f2-3ced-4aff-9a39-130357ecb45d", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e96e7957-29fc-49a0-9c01-9732649a02c4", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8a9390dc-7a22-409d-a65b-9b36f90df219", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a4605e96-e14a-43de-a93e-378d4c0d8540", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8c5641e3-2366-4535-b72a-eed0da3c6b25", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"31de278f-720a-4cc5-9d08-8bab1a5a28ac", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b150a8a-09f9-4909-aeae-6a174dbe29aa", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b8a2efb-f6a5-46b0-89a1-0fb94e0efc69", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b8a2efb-f6a5-46b0-89a1-0fb94e0efc69", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b8a2efb-f6a5-46b0-89a1-0fb94e0efc69", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"50bd2887-84d0-40ee-98c7-3f709838b77c", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"50bd2887-84d0-40ee-98c7-3f709838b77c", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"50bd2887-84d0-40ee-98c7-3f709838b77c", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f26dcc98-a5d7-4fe5-8a43-7da550294c37", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"398ba8aa-9b23-4fc7-8a21-06b184fb9c34", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"398ba8aa-9b23-4fc7-8a21-06b184fb9c34", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"398ba8aa-9b23-4fc7-8a21-06b184fb9c34", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9f0ea3d7-86ca-4dac-8f53-6dbe0eef462f", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9f0ea3d7-86ca-4dac-8f53-6dbe0eef462f", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"60f37dd1-4c43-4ac5-9f97-45f29619563c", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3d340ae1-2b92-4275-b098-e74495b55a57", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3d340ae1-2b92-4275-b098-e74495b55a57", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5bfebf91-4a89-488e-b81c-67d547e528c6", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"122d907c-069e-4a8e-8689-75427f100c12", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"28a74f89-e560-4e25-b2fa-2b0c88ac9f40", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"28a74f89-e560-4e25-b2fa-2b0c88ac9f40", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"be82bcc7-b4b9-485b-9e3f-aa4c6b89ab38", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"90c9be15-16ae-4dab-8963-2ea3fb34d52f", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4047b048-760c-48c3-8713-68e2eeb9f1b3", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b8a2efb-f6a5-46b0-89a1-0fb94e0efc69", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"50bd2887-84d0-40ee-98c7-3f709838b77c", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f26dcc98-a5d7-4fe5-8a43-7da550294c37", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"398ba8aa-9b23-4fc7-8a21-06b184fb9c34", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9f0ea3d7-86ca-4dac-8f53-6dbe0eef462f", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"60f37dd1-4c43-4ac5-9f97-45f29619563c", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3d340ae1-2b92-4275-b098-e74495b55a57", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5bfebf91-4a89-488e-b81c-67d547e528c6", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"122d907c-069e-4a8e-8689-75427f100c12", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"28a74f89-e560-4e25-b2fa-2b0c88ac9f40", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"be82bcc7-b4b9-485b-9e3f-aa4c6b89ab38", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"90c9be15-16ae-4dab-8963-2ea3fb34d52f", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4047b048-760c-48c3-8713-68e2eeb9f1b3", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d27b53d6-c1f8-4cd4-8436-489828f873d1", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d27b53d6-c1f8-4cd4-8436-489828f873d1", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d27b53d6-c1f8-4cd4-8436-489828f873d1", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"842218d9-eb11-4400-80f3-db317b2d8311", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"842218d9-eb11-4400-80f3-db317b2d8311", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"842218d9-eb11-4400-80f3-db317b2d8311", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b2139f6a-5d62-468d-aec6-d1dbe774b553", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c4aa0da9-50f9-41e6-9809-929ca1e5ea8b", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c4aa0da9-50f9-41e6-9809-929ca1e5ea8b", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c4aa0da9-50f9-41e6-9809-929ca1e5ea8b", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"53fd3b13-13e2-4c48-84f2-2864816b72f4", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"53fd3b13-13e2-4c48-84f2-2864816b72f4", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"531493be-4efe-4a8c-a7a6-e6c41687b88c", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"919cc308-be92-442c-abc3-9f9fb9848c80", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"919cc308-be92-442c-abc3-9f9fb9848c80", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b8c18552-7675-4552-9c45-7f606052e127", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"40ea8ee2-15a2-4f7c-956d-2afafb4a4259", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"352360d7-b75a-4f97-9b8c-fd776ba48e00", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"352360d7-b75a-4f97-9b8c-fd776ba48e00", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d16e346d-b7a9-4439-b39c-dcda39fcf62d", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"34082898-1c8e-47b6-b6a0-e6c533377817", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0c180a22-ef37-4778-a466-c25cd612ced6", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d27b53d6-c1f8-4cd4-8436-489828f873d1", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"842218d9-eb11-4400-80f3-db317b2d8311", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b2139f6a-5d62-468d-aec6-d1dbe774b553", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c4aa0da9-50f9-41e6-9809-929ca1e5ea8b", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"53fd3b13-13e2-4c48-84f2-2864816b72f4", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"531493be-4efe-4a8c-a7a6-e6c41687b88c", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"919cc308-be92-442c-abc3-9f9fb9848c80", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b8c18552-7675-4552-9c45-7f606052e127", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"40ea8ee2-15a2-4f7c-956d-2afafb4a4259", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"352360d7-b75a-4f97-9b8c-fd776ba48e00", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d16e346d-b7a9-4439-b39c-dcda39fcf62d", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"34082898-1c8e-47b6-b6a0-e6c533377817", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0c180a22-ef37-4778-a466-c25cd612ced6", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2b56ff20-3391-421a-8709-417b899d6610", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2b56ff20-3391-421a-8709-417b899d6610", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2b56ff20-3391-421a-8709-417b899d6610", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"088a570f-efaa-43d5-aa92-f42b6cef9247", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"088a570f-efaa-43d5-aa92-f42b6cef9247", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"088a570f-efaa-43d5-aa92-f42b6cef9247", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"82de570f-57e7-49a7-a2e7-25587ff6db1c", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c0d80f3d-f48f-45b1-821a-fbbe493aa25c", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c0d80f3d-f48f-45b1-821a-fbbe493aa25c", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c0d80f3d-f48f-45b1-821a-fbbe493aa25c", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"90e79c23-7c86-444d-9a59-5e35c65c6e35", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"90e79c23-7c86-444d-9a59-5e35c65c6e35", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"436d9652-1a61-42a7-8b0c-996447dcdf46", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a9b29a54-da73-4e26-9c52-c82e7c5ec60e", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a9b29a54-da73-4e26-9c52-c82e7c5ec60e", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fe5bfc81-f4bc-4382-b3a4-d47210d82a9b", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d856da59-3bf4-4105-a9be-96bdfdf1001e", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b5ae60d3-87e6-4633-ad1c-a912a46e3d29", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b5ae60d3-87e6-4633-ad1c-a912a46e3d29", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"242532d0-1c9b-41cb-9653-d0dc59573859", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"94c13aaa-8743-4b93-b7ff-61aef311a1ff", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"42e3fd03-3599-492f-8f6d-3ca2b61630ee", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2b56ff20-3391-421a-8709-417b899d6610", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"088a570f-efaa-43d5-aa92-f42b6cef9247", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"82de570f-57e7-49a7-a2e7-25587ff6db1c", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c0d80f3d-f48f-45b1-821a-fbbe493aa25c", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"90e79c23-7c86-444d-9a59-5e35c65c6e35", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"436d9652-1a61-42a7-8b0c-996447dcdf46", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a9b29a54-da73-4e26-9c52-c82e7c5ec60e", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fe5bfc81-f4bc-4382-b3a4-d47210d82a9b", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d856da59-3bf4-4105-a9be-96bdfdf1001e", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b5ae60d3-87e6-4633-ad1c-a912a46e3d29", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"242532d0-1c9b-41cb-9653-d0dc59573859", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"94c13aaa-8743-4b93-b7ff-61aef311a1ff", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"42e3fd03-3599-492f-8f6d-3ca2b61630ee", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9c9db0e1-3661-4dbc-87d2-46386c559b0d", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9c9db0e1-3661-4dbc-87d2-46386c559b0d", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9c9db0e1-3661-4dbc-87d2-46386c559b0d", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d8e75de2-f824-43fa-af7f-6fb79b5453dc", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d8e75de2-f824-43fa-af7f-6fb79b5453dc", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d8e75de2-f824-43fa-af7f-6fb79b5453dc", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2ef58a4b-a226-4769-8176-5aaf1e4cb3cc", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"dfc5e0d1-f730-4d4e-96ad-3d01879b0608", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"dfc5e0d1-f730-4d4e-96ad-3d01879b0608", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"dfc5e0d1-f730-4d4e-96ad-3d01879b0608", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"deaff618-a32c-4f4f-ae70-65f576b41f63", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"deaff618-a32c-4f4f-ae70-65f576b41f63", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a5c4461c-9b22-4513-9573-b65a68031caa", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e9de9003-8904-448f-ad5b-ed4dde98453c", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e9de9003-8904-448f-ad5b-ed4dde98453c", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"040c8b34-678c-4bbf-a8e1-a84e4ba585eb", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cc87cea1-2233-47a2-807a-d425c6848022", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b4e09517-e534-4e9a-a7f8-688486c33547", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b4e09517-e534-4e9a-a7f8-688486c33547", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a41eee44-0c8c-4f36-8a2e-300d7f3dde70", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a77cb902-a511-4bf3-abd2-d49d4d154aed", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6af6968c-cdf1-4c8d-9aa5-c6bd45ce18a6", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9c9db0e1-3661-4dbc-87d2-46386c559b0d", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d8e75de2-f824-43fa-af7f-6fb79b5453dc", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2ef58a4b-a226-4769-8176-5aaf1e4cb3cc", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"dfc5e0d1-f730-4d4e-96ad-3d01879b0608", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"deaff618-a32c-4f4f-ae70-65f576b41f63", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a5c4461c-9b22-4513-9573-b65a68031caa", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e9de9003-8904-448f-ad5b-ed4dde98453c", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"040c8b34-678c-4bbf-a8e1-a84e4ba585eb", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cc87cea1-2233-47a2-807a-d425c6848022", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b4e09517-e534-4e9a-a7f8-688486c33547", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a41eee44-0c8c-4f36-8a2e-300d7f3dde70", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a77cb902-a511-4bf3-abd2-d49d4d154aed", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6af6968c-cdf1-4c8d-9aa5-c6bd45ce18a6", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b8fa46e2-a938-4c00-9e45-4484bc088f95", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b8fa46e2-a938-4c00-9e45-4484bc088f95", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b8fa46e2-a938-4c00-9e45-4484bc088f95", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6c7bf90c-daae-4f6e-8c17-34d26ab324cd", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6c7bf90c-daae-4f6e-8c17-34d26ab324cd", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6c7bf90c-daae-4f6e-8c17-34d26ab324cd", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"05088ccf-e8b8-4eb1-9eb6-4bdc390f1e57", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2bc556f8-4871-430d-b34e-f26abc78cbd4", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2bc556f8-4871-430d-b34e-f26abc78cbd4", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2bc556f8-4871-430d-b34e-f26abc78cbd4", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ee644b24-d860-40b5-b1c3-feb5c13193d3", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ee644b24-d860-40b5-b1c3-feb5c13193d3", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"dc72e264-42f3-4c0a-bf70-58928d8c131f", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bef102c5-586f-44c1-938a-d01c0ac9da81", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bef102c5-586f-44c1-938a-d01c0ac9da81", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a9bf7802-d8c8-4168-8b1f-a780ae34bec7", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f54328f5-f08e-4b6c-942e-b9f28250387a", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"caf97388-732f-4b8a-b2a1-e31fc963d341", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"caf97388-732f-4b8a-b2a1-e31fc963d341", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"480faeb2-5a93-40b7-a70a-5c014ab026ab", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b3cbad82-c702-4e06-99ff-914359addeeb", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a876c5c6-090c-4ad2-b4ce-7b41864f11ee", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b8fa46e2-a938-4c00-9e45-4484bc088f95", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6c7bf90c-daae-4f6e-8c17-34d26ab324cd", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"05088ccf-e8b8-4eb1-9eb6-4bdc390f1e57", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2bc556f8-4871-430d-b34e-f26abc78cbd4", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ee644b24-d860-40b5-b1c3-feb5c13193d3", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"dc72e264-42f3-4c0a-bf70-58928d8c131f", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bef102c5-586f-44c1-938a-d01c0ac9da81", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a9bf7802-d8c8-4168-8b1f-a780ae34bec7", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f54328f5-f08e-4b6c-942e-b9f28250387a", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"caf97388-732f-4b8a-b2a1-e31fc963d341", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"480faeb2-5a93-40b7-a70a-5c014ab026ab", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b3cbad82-c702-4e06-99ff-914359addeeb", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a876c5c6-090c-4ad2-b4ce-7b41864f11ee", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7d511cf2-001b-429d-8fa9-15c703049e58", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7d511cf2-001b-429d-8fa9-15c703049e58", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7d511cf2-001b-429d-8fa9-15c703049e58", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e1165fc6-ab88-4496-b8eb-71cdf41f531d", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e1165fc6-ab88-4496-b8eb-71cdf41f531d", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e1165fc6-ab88-4496-b8eb-71cdf41f531d", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6bcf815f-9c54-4998-82bc-633cdc6fcebe", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cdfcb10b-2c6d-4be5-9f5d-f2b4b5812b89", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cdfcb10b-2c6d-4be5-9f5d-f2b4b5812b89", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cdfcb10b-2c6d-4be5-9f5d-f2b4b5812b89", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fce78aba-9a31-42ce-b6d0-a302f1606dfa", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fce78aba-9a31-42ce-b6d0-a302f1606dfa", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ef438002-ac97-4788-ac62-a3d61b2bc598", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6adeb5d0-3998-4bd0-ae65-9c7a7e81a1ca", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6adeb5d0-3998-4bd0-ae65-9c7a7e81a1ca", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fa7ae919-d7f2-46bc-ab82-4b21aa2c435c", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1303b7c7-1d4c-411d-ac05-7703a2d6ac31", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"10ef9abc-6062-4487-b5fb-0125360ef32b", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"10ef9abc-6062-4487-b5fb-0125360ef32b", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1abb592a-b3b6-4693-ad6d-b573e2150383", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"075cb600-4fd6-405a-984b-337e8ae4e9d3", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b51620e6-3126-46bf-95dd-5439c73f788b", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7d511cf2-001b-429d-8fa9-15c703049e58", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e1165fc6-ab88-4496-b8eb-71cdf41f531d", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6bcf815f-9c54-4998-82bc-633cdc6fcebe", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cdfcb10b-2c6d-4be5-9f5d-f2b4b5812b89", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fce78aba-9a31-42ce-b6d0-a302f1606dfa", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ef438002-ac97-4788-ac62-a3d61b2bc598", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6adeb5d0-3998-4bd0-ae65-9c7a7e81a1ca", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fa7ae919-d7f2-46bc-ab82-4b21aa2c435c", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1303b7c7-1d4c-411d-ac05-7703a2d6ac31", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"10ef9abc-6062-4487-b5fb-0125360ef32b", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1abb592a-b3b6-4693-ad6d-b573e2150383", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"075cb600-4fd6-405a-984b-337e8ae4e9d3", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b51620e6-3126-46bf-95dd-5439c73f788b", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"2b4fe2b8-e8b3-4872-ae81-59d31e8198e2", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"2b4fe2b8-e8b3-4872-ae81-59d31e8198e2", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"02713435-9ff7-4f75-bf7a-735a687d54ad", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"02713435-9ff7-4f75-bf7a-735a687d54ad", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"70dd3d98-9e81-4994-86ba-573bdbe0795e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"70dd3d98-9e81-4994-86ba-573bdbe0795e", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"04db83e4-d68b-4cf4-923b-0475960a7651", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"04db83e4-d68b-4cf4-923b-0475960a7651", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"25f71625-e644-4ff0-9fcb-e8b071e3b3f7", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"25f71625-e644-4ff0-9fcb-e8b071e3b3f7", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b2fc9749-0191-47c3-8bef-cd280f171ee4", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b2fc9749-0191-47c3-8bef-cd280f171ee4", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b2fc9749-0191-47c3-8bef-cd280f171ee4", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9127fe62-b9d2-4d1a-86ef-3e56deafa7e0", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9127fe62-b9d2-4d1a-86ef-3e56deafa7e0", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9127fe62-b9d2-4d1a-86ef-3e56deafa7e0", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"314bdcc7-c6e3-4f6b-8ce5-609f9b8f472c", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"47059c83-79fa-41b7-8706-bc09cdea70ee", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"47059c83-79fa-41b7-8706-bc09cdea70ee", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"47059c83-79fa-41b7-8706-bc09cdea70ee", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5e41ee89-c37a-42a3-8242-d81b6d53bef0", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5e41ee89-c37a-42a3-8242-d81b6d53bef0", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8e82c30f-f353-44e2-87e6-22c96bb32270", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a505245a-be91-416b-bec9-686abaf4665b", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a505245a-be91-416b-bec9-686abaf4665b", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"428a376c-9de2-4fbd-9ec2-6a1925a35bf0", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5538bee2-59f6-413f-9683-341cd8e208a5", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7068df58-217f-411e-adcb-6ab37665e4b9", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7068df58-217f-411e-adcb-6ab37665e4b9", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"119c2f88-4fe4-4f89-bbb9-cf0b9bfdbf25", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e65e5fb7-7759-4743-8ab4-41bb65e04bee", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1adb588d-2e2c-4917-9693-68b71aa660d9", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b2fc9749-0191-47c3-8bef-cd280f171ee4", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9127fe62-b9d2-4d1a-86ef-3e56deafa7e0", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"314bdcc7-c6e3-4f6b-8ce5-609f9b8f472c", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"47059c83-79fa-41b7-8706-bc09cdea70ee", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5e41ee89-c37a-42a3-8242-d81b6d53bef0", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8e82c30f-f353-44e2-87e6-22c96bb32270", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a505245a-be91-416b-bec9-686abaf4665b", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"428a376c-9de2-4fbd-9ec2-6a1925a35bf0", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5538bee2-59f6-413f-9683-341cd8e208a5", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7068df58-217f-411e-adcb-6ab37665e4b9", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"119c2f88-4fe4-4f89-bbb9-cf0b9bfdbf25", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e65e5fb7-7759-4743-8ab4-41bb65e04bee", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1adb588d-2e2c-4917-9693-68b71aa660d9", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fc0709cf-9610-4b04-89cb-53ecf4ca3b09", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fc0709cf-9610-4b04-89cb-53ecf4ca3b09", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fc0709cf-9610-4b04-89cb-53ecf4ca3b09", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"10f08ffa-120f-4fdb-961f-f2530f007483", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"10f08ffa-120f-4fdb-961f-f2530f007483", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"10f08ffa-120f-4fdb-961f-f2530f007483", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b93d2479-201b-4e37-9aa3-33546e90acce", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"24b131d1-4012-4f15-8672-927cf80045c8", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"24b131d1-4012-4f15-8672-927cf80045c8", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"24b131d1-4012-4f15-8672-927cf80045c8", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"43905b3e-1ba2-4943-af8f-89b9a88858b3", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"43905b3e-1ba2-4943-af8f-89b9a88858b3", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4d365510-8a97-4ea7-bf92-fa20185bab8d", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"704a64cd-0118-4ada-a03c-9a46fc76afff", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"704a64cd-0118-4ada-a03c-9a46fc76afff", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c5d6631f-ec09-4c8d-9c66-4fc0a948c87c", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2fe13a50-20cb-4774-a8a5-797b3cb3b157", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"53825770-caba-4d0b-b9c0-13136adafc4d", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"53825770-caba-4d0b-b9c0-13136adafc4d", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"438565e9-6c6f-4036-9286-be4787ddc419", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"52054f2c-77f0-4fe0-87ec-201b124ce4de", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"475fe0fb-c106-4a90-9ab5-7445a6e84204", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fc0709cf-9610-4b04-89cb-53ecf4ca3b09", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"10f08ffa-120f-4fdb-961f-f2530f007483", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b93d2479-201b-4e37-9aa3-33546e90acce", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"24b131d1-4012-4f15-8672-927cf80045c8", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"43905b3e-1ba2-4943-af8f-89b9a88858b3", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4d365510-8a97-4ea7-bf92-fa20185bab8d", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"704a64cd-0118-4ada-a03c-9a46fc76afff", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c5d6631f-ec09-4c8d-9c66-4fc0a948c87c", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2fe13a50-20cb-4774-a8a5-797b3cb3b157", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"53825770-caba-4d0b-b9c0-13136adafc4d", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"438565e9-6c6f-4036-9286-be4787ddc419", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"52054f2c-77f0-4fe0-87ec-201b124ce4de", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"475fe0fb-c106-4a90-9ab5-7445a6e84204", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7a8dd50b-62e1-4b92-b8e4-a7b9c1d58c82", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7a8dd50b-62e1-4b92-b8e4-a7b9c1d58c82", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4357c0f1-30da-4d87-bf3b-1a1133cf2871", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4357c0f1-30da-4d87-bf3b-1a1133cf2871", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"91cc7c4f-e5f6-469e-a4c0-2aa8d699a52b", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"91cc7c4f-e5f6-469e-a4c0-2aa8d699a52b", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c6ef8e65-99c8-4ccb-acf1-ac151ca8adcd", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c6ef8e65-99c8-4ccb-acf1-ac151ca8adcd", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f2ab05ff-0a22-4fd7-9745-efffb5df2cd6", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f2ab05ff-0a22-4fd7-9745-efffb5df2cd6", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f2ab05ff-0a22-4fd7-9745-efffb5df2cd6", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"61a9fd2e-15fa-489c-af11-b253276cd83a", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"61a9fd2e-15fa-489c-af11-b253276cd83a", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"61a9fd2e-15fa-489c-af11-b253276cd83a", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4e0dca49-6789-43ad-9522-681421b5f1f5", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ec02941f-1591-460b-917d-fb4f95cb8e0a", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ec02941f-1591-460b-917d-fb4f95cb8e0a", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ec02941f-1591-460b-917d-fb4f95cb8e0a", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d407bb3e-cab4-4b74-861d-cebf085b845e", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d407bb3e-cab4-4b74-861d-cebf085b845e", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3d2a38af-6a8a-4b72-b614-402ceb79d438", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3f1994b7-11b0-4eb1-8ebb-56ce9337d1e8", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3f1994b7-11b0-4eb1-8ebb-56ce9337d1e8", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e2cb3520-e226-4b9a-9a64-3c2743c62932", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"95238d6c-c6da-4fbd-80e1-a3f608376fd0", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d5efae88-1800-4777-9dbd-01e42206cc19", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d5efae88-1800-4777-9dbd-01e42206cc19", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"56ad8187-d389-4acd-bea8-b2ae5074813f", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"85d92298-8567-4f8c-8d40-9f2686d9060f", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"704de19a-f043-4151-94dd-b6dbec8947c4", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f2ab05ff-0a22-4fd7-9745-efffb5df2cd6", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"61a9fd2e-15fa-489c-af11-b253276cd83a", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4e0dca49-6789-43ad-9522-681421b5f1f5", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ec02941f-1591-460b-917d-fb4f95cb8e0a", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d407bb3e-cab4-4b74-861d-cebf085b845e", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3d2a38af-6a8a-4b72-b614-402ceb79d438", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3f1994b7-11b0-4eb1-8ebb-56ce9337d1e8", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e2cb3520-e226-4b9a-9a64-3c2743c62932", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"95238d6c-c6da-4fbd-80e1-a3f608376fd0", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d5efae88-1800-4777-9dbd-01e42206cc19", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"56ad8187-d389-4acd-bea8-b2ae5074813f", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"85d92298-8567-4f8c-8d40-9f2686d9060f", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"704de19a-f043-4151-94dd-b6dbec8947c4", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"94595ffd-4eb0-4767-a533-2501df18ec7c", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"94595ffd-4eb0-4767-a533-2501df18ec7c", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"94595ffd-4eb0-4767-a533-2501df18ec7c", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c666eac3-b85e-4d63-beed-22e9049b13ed", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c666eac3-b85e-4d63-beed-22e9049b13ed", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c666eac3-b85e-4d63-beed-22e9049b13ed", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4677c0ac-fb03-4938-8b3b-717d9c3bda43", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"744e2863-738d-4dd0-99dd-8024eb9fdec7", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"744e2863-738d-4dd0-99dd-8024eb9fdec7", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"744e2863-738d-4dd0-99dd-8024eb9fdec7", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"65911138-a27c-4f68-a3c5-c15fc154a73b", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"65911138-a27c-4f68-a3c5-c15fc154a73b", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"16a9c46c-396f-4b9e-9e90-ef03dbf97590", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0cbf9e46-5c7d-4a9d-8049-fbdaf0eeadf6", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0cbf9e46-5c7d-4a9d-8049-fbdaf0eeadf6", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a170dbaa-7c85-4a41-be31-108f0a3fa688", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c70685d0-eedc-451f-8b63-e059067669ec", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"366324ce-11d2-4431-ae26-7452afce9554", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"366324ce-11d2-4431-ae26-7452afce9554", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3292bf24-20d2-464d-9a28-260140a2574a", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"befda1cf-2e91-4c86-b090-640de5aeb576", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"efe876ef-54fb-46a3-9b71-022a01965f68", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"94595ffd-4eb0-4767-a533-2501df18ec7c", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c666eac3-b85e-4d63-beed-22e9049b13ed", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4677c0ac-fb03-4938-8b3b-717d9c3bda43", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"744e2863-738d-4dd0-99dd-8024eb9fdec7", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"65911138-a27c-4f68-a3c5-c15fc154a73b", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"16a9c46c-396f-4b9e-9e90-ef03dbf97590", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0cbf9e46-5c7d-4a9d-8049-fbdaf0eeadf6", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a170dbaa-7c85-4a41-be31-108f0a3fa688", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c70685d0-eedc-451f-8b63-e059067669ec", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"366324ce-11d2-4431-ae26-7452afce9554", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3292bf24-20d2-464d-9a28-260140a2574a", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"befda1cf-2e91-4c86-b090-640de5aeb576", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"efe876ef-54fb-46a3-9b71-022a01965f68", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0b0b410e-3c63-4e72-b123-70667c0c02d3", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0b0b410e-3c63-4e72-b123-70667c0c02d3", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0b0b410e-3c63-4e72-b123-70667c0c02d3", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fe392ab0-6ab8-49da-aae6-6ca88e92ffed", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fe392ab0-6ab8-49da-aae6-6ca88e92ffed", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fe392ab0-6ab8-49da-aae6-6ca88e92ffed", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c86f6339-946c-4e4c-bc80-d30b3c0d0abb", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b3f5c1d1-649b-4f61-90d8-a0a8e031309a", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b3f5c1d1-649b-4f61-90d8-a0a8e031309a", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b3f5c1d1-649b-4f61-90d8-a0a8e031309a", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5ff61f44-af4e-410a-badc-d85a32818798", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5ff61f44-af4e-410a-badc-d85a32818798", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"516f1a2b-6d6b-42fa-b961-6fe8621711b1", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b7197303-95c6-4198-bb65-6c0f02d8b23e", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b7197303-95c6-4198-bb65-6c0f02d8b23e", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"11c8fedb-fdec-4294-972a-4d22ccc88071", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"34831d18-c686-45e8-afa8-f4a38e38eac5", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"95516337-d060-46ef-acec-0efc921411db", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"95516337-d060-46ef-acec-0efc921411db", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1eba0059-3f09-4b00-a326-b33ff953083c", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"425fed8a-2aaa-417f-a648-51f61eafad99", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"28c921b1-ffdc-41e4-bc94-71f2ff375e28", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0b0b410e-3c63-4e72-b123-70667c0c02d3", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fe392ab0-6ab8-49da-aae6-6ca88e92ffed", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c86f6339-946c-4e4c-bc80-d30b3c0d0abb", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b3f5c1d1-649b-4f61-90d8-a0a8e031309a", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5ff61f44-af4e-410a-badc-d85a32818798", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"516f1a2b-6d6b-42fa-b961-6fe8621711b1", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b7197303-95c6-4198-bb65-6c0f02d8b23e", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"11c8fedb-fdec-4294-972a-4d22ccc88071", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"34831d18-c686-45e8-afa8-f4a38e38eac5", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"95516337-d060-46ef-acec-0efc921411db", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1eba0059-3f09-4b00-a326-b33ff953083c", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"425fed8a-2aaa-417f-a648-51f61eafad99", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"28c921b1-ffdc-41e4-bc94-71f2ff375e28", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e62b39cd-ac89-4eb9-955b-03c35c0ad88e", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e62b39cd-ac89-4eb9-955b-03c35c0ad88e", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a194ce96-4820-414f-84e6-543d05ab1c42", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a194ce96-4820-414f-84e6-543d05ab1c42", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"79425c61-c1b7-4d92-a531-927d625d10cf", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"79425c61-c1b7-4d92-a531-927d625d10cf", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5e787383-6bfc-4b1f-ad36-4eeb7d4bc57d", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"e8967564-5ed1-4f53-a690-929264640b13", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"5b763365-aca2-4b99-aae2-b25937575a23", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"5b763365-aca2-4b99-aae2-b25937575a23", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"f5dc0f36-0348-4707-ae76-a66df9528de8", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0322e35e-4c61-455a-a056-f8086a7bc265", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5e787383-6bfc-4b1f-ad36-4eeb7d4bc57d", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"e8967564-5ed1-4f53-a690-929264640b13", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"5b763365-aca2-4b99-aae2-b25937575a23", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"f5dc0f36-0348-4707-ae76-a66df9528de8", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0322e35e-4c61-455a-a056-f8086a7bc265", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cc019681-1189-4a01-90de-c51dae482614", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cc019681-1189-4a01-90de-c51dae482614", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"98ae5742-3e2c-49e8-af4e-127e47f0cd8d", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"98ae5742-3e2c-49e8-af4e-127e47f0cd8d", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1c55fe07-14a7-44c9-a94c-95dd59f882fb", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1c55fe07-14a7-44c9-a94c-95dd59f882fb", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f178d70f-c8ad-41a2-9a49-df001852a36c", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"cd25947a-e111-4056-a66f-f83b36b0eeeb", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"824b8b36-44d3-4d99-a87e-5978f10ef60d", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"824b8b36-44d3-4d99-a87e-5978f10ef60d", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"974b7f2e-58ca-40ba-87a0-acf4b7e34feb", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"01b24c89-6995-4a9d-ac7f-5cb5df535980", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f178d70f-c8ad-41a2-9a49-df001852a36c", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"cd25947a-e111-4056-a66f-f83b36b0eeeb", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"824b8b36-44d3-4d99-a87e-5978f10ef60d", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"974b7f2e-58ca-40ba-87a0-acf4b7e34feb", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"01b24c89-6995-4a9d-ac7f-5cb5df535980", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20b06cd9-ecda-46b1-b747-16dd57355174", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20b06cd9-ecda-46b1-b747-16dd57355174", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"93c09d81-9afd-4dd8-aa17-f1afe71f5ec3", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"93c09d81-9afd-4dd8-aa17-f1afe71f5ec3", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b3a5e88b-c798-4876-9bda-49dade35564b", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b3a5e88b-c798-4876-9bda-49dade35564b", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c0cd9fa8-8886-4cae-8b33-2af0f9541d2e", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy cat", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c0cd9fa8-8886-4cae-8b33-2af0f9541d2e", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy cat", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ea28c490-8c5f-4802-bf51-d5b441eb4ac5", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ea28c490-8c5f-4802-bf51-d5b441eb4ac5", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ffa6d092-8832-4eec-ba2c-56af424f0ef8", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy cat", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ffa6d092-8832-4eec-ba2c-56af424f0ef8", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy cat", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8b0c01d8-071f-4b68-b787-3d1a875e93e2", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8b0c01d8-071f-4b68-b787-3d1a875e93e2", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d7a79576-7ca7-4d72-9fc4-4c4e7853d847", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"c64cbe54-3585-442f-89bc-90b79e8257d7", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"a30d0a84-db83-4e3c-a4f9-22f9305c7f58", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"a30d0a84-db83-4e3c-a4f9-22f9305c7f58", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"4ddd1da1-46e5-4a6f-8c99-c8fcfb75e767", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20a4ce42-87dd-47e6-8d52-dd5495b582cd", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d7a79576-7ca7-4d72-9fc4-4c4e7853d847", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"c64cbe54-3585-442f-89bc-90b79e8257d7", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"a30d0a84-db83-4e3c-a4f9-22f9305c7f58", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"4ddd1da1-46e5-4a6f-8c99-c8fcfb75e767", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"20a4ce42-87dd-47e6-8d52-dd5495b582cd", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5fc72382-e39c-4953-a0b5-4efab4c8d734", "question_comment"=>"", "question_text"=>"This is the previous version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5fc72382-e39c-4953-a0b5-4efab4c8d734", "question_comment"=>"", "question_text"=>"This is the previous version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5cd3a69e-cca2-4bfd-ba9b-99d9e757d537", "question_comment"=>"", "question_text"=>"This is the previous version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5cd3a69e-cca2-4bfd-ba9b-99d9e757d537", "question_comment"=>"", "question_text"=>"This is the previous version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0a144cf0-4e51-4c6e-a8bf-047519564991", "question_comment"=>"", "question_text"=>"This was the original version: Witch of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0a144cf0-4e51-4c6e-a8bf-047519564991", "question_comment"=>"", "question_text"=>"This was the original version: Witch of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"462ec8d0-b81c-4bc2-8c69-da748afee06d", "question_comment"=>"", "question_text"=>"This is the previous version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"462ec8d0-b81c-4bc2-8c69-da748afee06d", "question_comment"=>"", "question_text"=>"This is the previous version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"74ce9556-ee72-4bfd-b33e-f8b593e3aaa9", "question_comment"=>"", "question_text"=>"This is the most recent version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"74ce9556-ee72-4bfd-b33e-f8b593e3aaa9", "question_comment"=>"", "question_text"=>"This is the most recent version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"82595314-a618-4d94-9038-fbe63d50c4a7", "question_comment"=>"", "question_text"=>"This was the original version: Witch of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"82595314-a618-4d94-9038-fbe63d50c4a7", "question_comment"=>"", "question_text"=>"This was the original version: Witch of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"82fe852c-b98f-44f1-85f8-cff2649872fa", "question_comment"=>"", "question_text"=>"This is the previous version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"82fe852c-b98f-44f1-85f8-cff2649872fa", "question_comment"=>"", "question_text"=>"This is the previous version: Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5d3a9110-e023-400b-aa1c-e76c08852630", "question_comment"=>"", "question_text"=>"This was the original version: Witch of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5d3a9110-e023-400b-aa1c-e76c08852630", "question_comment"=>"", "question_text"=>"This was the original version: Witch of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7e55afd7-7553-4e15-9a67-c953356b558e", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7e55afd7-7553-4e15-9a67-c953356b558e", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7e55afd7-7553-4e15-9a67-c953356b558e", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c74cd62f-f189-49e1-a3ed-70cc8881f749", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c74cd62f-f189-49e1-a3ed-70cc8881f749", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c74cd62f-f189-49e1-a3ed-70cc8881f749", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bba79c16-132d-4d34-990b-0b5449f06cc6", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e30c6cbd-0397-4e5d-8f46-e1b8c44d607b", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e30c6cbd-0397-4e5d-8f46-e1b8c44d607b", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e30c6cbd-0397-4e5d-8f46-e1b8c44d607b", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ba87bacd-331f-4d98-b4af-1ac019019f9c", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ba87bacd-331f-4d98-b4af-1ac019019f9c", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7c7ae118-d651-4a0c-a245-3183408adb35", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"73c64b70-596b-4912-98a8-685bb8885f5f", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"73c64b70-596b-4912-98a8-685bb8885f5f", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6ab137dc-da6a-4d7a-a7e0-aa3074bddd97", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"72fefcaf-26ec-4ae7-bc25-009eb4c8baa4", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c4a5cb8f-758c-4cf3-8200-1cb93323d7c4", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c4a5cb8f-758c-4cf3-8200-1cb93323d7c4", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e09baa48-bb75-4c48-8a2a-36073d53c599", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e7db5845-c2cd-4bc3-b3d5-42be436abfc9", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5e3c1adc-13d1-41ee-a26a-ef3fc18ebf4e", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7e55afd7-7553-4e15-9a67-c953356b558e", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c74cd62f-f189-49e1-a3ed-70cc8881f749", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bba79c16-132d-4d34-990b-0b5449f06cc6", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e30c6cbd-0397-4e5d-8f46-e1b8c44d607b", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ba87bacd-331f-4d98-b4af-1ac019019f9c", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"7c7ae118-d651-4a0c-a245-3183408adb35", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"73c64b70-596b-4912-98a8-685bb8885f5f", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6ab137dc-da6a-4d7a-a7e0-aa3074bddd97", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"72fefcaf-26ec-4ae7-bc25-009eb4c8baa4", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c4a5cb8f-758c-4cf3-8200-1cb93323d7c4", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e09baa48-bb75-4c48-8a2a-36073d53c599", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e7db5845-c2cd-4bc3-b3d5-42be436abfc9", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5e3c1adc-13d1-41ee-a26a-ef3fc18ebf4e", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b7d50edf-03cc-4364-84b4-8db3232574a9", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b7d50edf-03cc-4364-84b4-8db3232574a9", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"edba94d9-6a45-4e58-b530-e6afbd786409", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"edba94d9-6a45-4e58-b530-e6afbd786409", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"51d53eec-4a88-42f6-8f8b-39fc4b0e4da7", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"51d53eec-4a88-42f6-8f8b-39fc4b0e4da7", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ab48fe1b-7db8-4dc7-9bd9-6958b9abb161", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"A", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"B", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"C", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"D", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ab48fe1b-7db8-4dc7-9bd9-6958b9abb161", "question_comment"=>"", "question_text"=>"The quick brown fox jumped over the lazy dog", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2ab8c495-c33d-4ac9-89c2-99a960cf06c8", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"35561eb6-edab-4f1f-9256-d51f74619188", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"94df71a1-1ae6-4c33-b68e-1fd3387b333d", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"94df71a1-1ae6-4c33-b68e-1fd3387b333d", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"b5d7c540-ab7b-482e-ae7c-7d1a3d60a264", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"881ab28e-a955-477e-8d5d-adb424d6adf0", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2ab8c495-c33d-4ac9-89c2-99a960cf06c8", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"35561eb6-edab-4f1f-9256-d51f74619188", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"94df71a1-1ae6-4c33-b68e-1fd3387b333d", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"b5d7c540-ab7b-482e-ae7c-7d1a3d60a264", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"881ab28e-a955-477e-8d5d-adb424d6adf0", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8ace9415-013f-4418-9583-7bab45a8c54b", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"89c3563f-2c02-40b1-8767-6408a015183e", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"5e8dc279-2c34-471e-8fae-d561ed4e3bc2", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"5e8dc279-2c34-471e-8fae-d561ed4e3bc2", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"dcd6a208-6f89-446d-8e68-f99c5dd9cc4b", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fda5e7e3-b30a-4a7d-848f-cb22f74d0929", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8ace9415-013f-4418-9583-7bab45a8c54b", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"89c3563f-2c02-40b1-8767-6408a015183e", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"5e8dc279-2c34-471e-8fae-d561ed4e3bc2", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"dcd6a208-6f89-446d-8e68-f99c5dd9cc4b", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fda5e7e3-b30a-4a7d-848f-cb22f74d0929", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"913d2a16-5699-4529-ac53-4cb55e5286ee", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"4ea8db20-d3f2-4de3-9cc8-68bbf4a9b440", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"1c7dcdd1-8c95-499c-a8a4-5e5c0604c37a", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"1c7dcdd1-8c95-499c-a8a4-5e5c0604c37a", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"368f0f90-3040-43eb-a5df-05b43b9cbde8", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"209c1a16-6d91-437b-a51b-e7c20ae5bba2", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"913d2a16-5699-4529-ac53-4cb55e5286ee", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"4ea8db20-d3f2-4de3-9cc8-68bbf4a9b440", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"1c7dcdd1-8c95-499c-a8a4-5e5c0604c37a", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"368f0f90-3040-43eb-a5df-05b43b9cbde8", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"209c1a16-6d91-437b-a51b-e7c20ae5bba2", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"da123e95-b3f6-415b-b5e8-c4f299e45186", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"5b32f837-cf84-4eff-92a5-d8f52fc7fc8d", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"32a6f1ce-ee89-4097-ba03-6b5b0d8a7fe6", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"32a6f1ce-ee89-4097-ba03-6b5b0d8a7fe6", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"25645ef9-8965-46d2-8d3a-80b90e730466", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"07bf4f9a-5682-4173-a420-968307af8f94", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"da123e95-b3f6-415b-b5e8-c4f299e45186", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"5b32f837-cf84-4eff-92a5-d8f52fc7fc8d", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"32a6f1ce-ee89-4097-ba03-6b5b0d8a7fe6", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"25645ef9-8965-46d2-8d3a-80b90e730466", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"07bf4f9a-5682-4173-a420-968307af8f94", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"138e6b9f-fc9e-4eee-9089-14b466fc95aa", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"14815c85-ef46-433a-bfad-b2099882e49f", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"b49b836d-0c0e-4ab6-8e9e-a634e05ced7a", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"b49b836d-0c0e-4ab6-8e9e-a634e05ced7a", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"5761ddbd-ab12-4ea0-8940-c0cac489941a", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fcc88156-65bf-4353-ae2d-12567abf7b34", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"138e6b9f-fc9e-4eee-9089-14b466fc95aa", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"14815c85-ef46-433a-bfad-b2099882e49f", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"b49b836d-0c0e-4ab6-8e9e-a634e05ced7a", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"5761ddbd-ab12-4ea0-8940-c0cac489941a", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fcc88156-65bf-4353-ae2d-12567abf7b34", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2b6ec6d7-5326-4513-8212-f860b6553551", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"2453ba7e-1f3d-4653-9ad5-506a97c95b89", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"1ac76334-3754-485b-aa2d-7bc8935210e4", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"1ac76334-3754-485b-aa2d-7bc8935210e4", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"ded59ed8-ba31-42c6-ae15-5124fedeaab9", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f04f5259-991c-4483-9679-cb849eb644d3", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2b6ec6d7-5326-4513-8212-f860b6553551", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"2453ba7e-1f3d-4653-9ad5-506a97c95b89", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"1ac76334-3754-485b-aa2d-7bc8935210e4", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"ded59ed8-ba31-42c6-ae15-5124fedeaab9", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f04f5259-991c-4483-9679-cb849eb644d3", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c54aba42-0991-4e2a-862b-413cd063e663", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c54aba42-0991-4e2a-862b-413cd063e663", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Green", "correct"=>false, "explanation"=>"Green is not a creative color."}, {"answer_text"=>"Black", "correct"=>false, "explanation"=>"Black is not a creative color."}, {"answer_text"=>"Blue", "correct"=>true, "explanation"=>"Blue is a creative color."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5ccdf622-799f-41c7-9bb0-c59c09a6136c", "question_comment"=>"", "question_text"=>"This is a source code test. What's your favorite creative color?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Green", "correct"=>false, "explanation"=>"Green is not a creative color."}, {"answer_text"=>"Black", "correct"=>false, "explanation"=>"Black is not a creative color."}, {"answer_text"=>"Blue", "correct"=>true, "explanation"=>"Blue is a creative color."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5ccdf622-799f-41c7-9bb0-c59c09a6136c", "question_comment"=>"", "question_text"=>"This is a source code test. What's your favorite creative color?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"02c476ad-c362-428e-9161-5d096c582a8b", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"02c476ad-c362-428e-9161-5d096c582a8b", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9dea86ac-da81-4369-bd58-643494ff43aa", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"9dea86ac-da81-4369-bd58-643494ff43aa", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4ce20b22-77f6-49b3-a4f2-1bff4f295da6", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4ce20b22-77f6-49b3-a4f2-1bff4f295da6", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d2ba60d9-b518-43c1-8608-69218fef2568", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d2ba60d9-b518-43c1-8608-69218fef2568", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cb79b9f8-8211-4328-918d-5885c34714fd", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cb79b9f8-8211-4328-918d-5885c34714fd", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cb79b9f8-8211-4328-918d-5885c34714fd", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0ad0780d-2f45-4829-aaca-0e2b24875577", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0ad0780d-2f45-4829-aaca-0e2b24875577", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0ad0780d-2f45-4829-aaca-0e2b24875577", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1f37a903-c40a-4ff2-9afc-fd52c4305be4", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"17b74c83-3fb0-42e7-8b8e-b8d1860cfb91", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"17b74c83-3fb0-42e7-8b8e-b8d1860cfb91", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"17b74c83-3fb0-42e7-8b8e-b8d1860cfb91", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0b67f556-c429-4a30-8669-66dbb5d983ff", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0b67f556-c429-4a30-8669-66dbb5d983ff", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d3488e9b-3209-4fcd-b461-cbf2cea0bdd5", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ce055099-3c3b-4eab-ae41-df0ba9e9af58", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ce055099-3c3b-4eab-ae41-df0ba9e9af58", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4fd5ac06-9d08-4fe3-b4e4-ea1eb7e90aab", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f5c31c4b-d2ab-439f-893e-528a54ba691b", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6e3957fa-5008-4f28-a1d9-7b15c0ba9798", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6e3957fa-5008-4f28-a1d9-7b15c0ba9798", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"03940952-4436-447c-a019-50a6b16875e9", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cc0cc3e2-8485-47fe-84b7-42ec28d738da", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f42c5491-3bd9-4c5a-be08-a58f71b93eb9", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cb79b9f8-8211-4328-918d-5885c34714fd", "question_comment"=>"", "question_text"=>"Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian\\'s (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0ad0780d-2f45-4829-aaca-0e2b24875577", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Make sure all the elements to be styled have a common parent (ancestor) element", "correct"=>false, "explanation"=>"Even when this is possible, it isn't enough to be able to selectively pick out just the elements you want.  Indeed, on a legal HTML 5 page, all the elements already have the common ancestor &lt;body&gt;."}, {"answer_text"=>"Give all the elements to be styled the same \"id\" attribute value", "correct"=>false, "explanation"=>"The \"id\" attribute value must be unique across all elements on a page."}, {"answer_text"=>"Give all the elements to be styled the same \"class\" attribute value", "correct"=>true, "explanation"=>"Since the same class can be applied to many elements, even if they are of different element types, it provides an easy way to apply a set of CSS style rules to many elements at once."}, {"answer_text"=>"Any of the above techniques would work", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1f37a903-c40a-4ff2-9afc-fd52c4305be4", "question_comment"=>"", "question_text"=>"In an HTML5 document, what would be the best way to apply the same text-styling rules to several pieces of text that are scattered over the page and are part of <i>different types</i> of HTML elements (&lt;p&gt;, &lt;span&gt;, etc.)?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"<tt>@first + \" \" + @last</tt>", "correct"=>true, "explanation"=>"<tt>@first</tt> and <tt>@last</tt> are instance\n        variables, so this statement works."}, {"answer_text"=>"<tt>self.first + \" \" + self.last</tt>", "correct"=>true, "explanation"=>"The <tt>first</tt> and <tt>last</tt> methods are\n            created by the call to <tt>attr_accessor</tt>."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}, {"answer_text"=>"<tt>\"\#{first} \#{last}\"</tt>", "correct"=>true, "explanation"=>"Here <tt>first</tt> and <tt>last</tt> are resolved\n            as method calls on <tt>self</tt>, though it's often clearer\n            to include <tt>self</tt> explicitly."}, {"answer_text"=>"<tt>self.@first + \" \" + self.@last</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means \"Call method <tt>b</tt>\n            on receiver <tt>a</tt>\", but <tt>@first</tt> cannot be a\n            legal Ruby method name."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"17b74c83-3fb0-42e7-8b8e-b8d1860cfb91", "question_comment"=>"", "question_text"=>"        Consider the following Ruby class for a student with\n        instance variables for first and last name, and an incomplete method for\n        returning the student's full name:\n<pre>\nclass Student\n  attr_accessor :first, :last\n  def full_name\n     ____________\n  end\n end\n</pre>\n       Which of the following would be legal ways to fill in the blank\n       so that the <tt>full_name</tt> method returns a student's full\n       name (first followed by space followed by last)?  You can assume\n       first and last name are legal strings, and that '+' can be used to\n       concatenate strings.\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Both try to identify and estimate the impact of possible risks", "correct"=>true, "explanation"=>"Agile uses risk information to estimate the scope of a customer estimate, whereas P&D uses risk information up-front to adjust the schedule, but both methodologies take account of risk."}, {"answer_text"=>"Frequent iterations of the prototype are a risk-reduction tactic that is present in Agile but absent from P&D methodologies", "correct"=>false, "explanation"=>"Spiral and RUP incorporate frequent iteration as part of risk reduction."}, {"answer_text"=>"In both methodologies, nontechnical risks are more likely to jeopardize the schedule than technical risks.", "correct"=>false, "explanation"=>"In both methodologies, neither technical or nontechnical risks are inherently more serious than the other; either type could potentially have a serious impact on the schedule."}, {"answer_text"=>"Both must deal with customers asking for changes after schedule is in place and project starts", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0b67f556-c429-4a30-8669-66dbb5d983ff", "question_comment"=>"", "question_text"=>"Comparing plan-and-document vs. agile approaches to cost estimation, which statements are TRUE:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"<tt>@student.first + \" \" + @student.last</tt>", "correct"=>true, "explanation"=>"This works by using the accessors for first and last."}, {"answer_text"=>"<tt>@student.full</tt>", "correct"=>false, "explanation"=>"There is no accessor method defined for the <tt>@full</tt> instance variable."}, {"answer_text"=>"<tt>@student.@full</tt>", "correct"=>false, "explanation"=>"<tt>a.b</tt> always means call method b on object a, but <tt>@full</tt> is\n               not a legal method name."}, {"answer_text"=>"<tt>Student.first + \" \" + Student.last</tt>", "correct"=>false, "explanation"=>"This would be correct if <tt>first</tt> and <tt>last</tt>\n            were class (\"static\") methods, but they are instance methods."}], "points"=>1, "raw"=>true, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"d3488e9b-3209-4fcd-b461-cbf2cea0bdd5", "question_comment"=>"", "question_text"=>"        Consider the following Ruby code:\n<pre>\nclass Student\n  attr_reader :first, :last\n  def initialize(first, last)\n    @first = first\n    @last = last\n    @full = first + ' ' + last\n end\nend\n</pre>\n       Suppose from OUTSIDE the class we execute <tt>@student = Student.new('Armando','Fox')</tt>.\n       Which of the following expressions will return this student's full\n       name (first followed by space followed by last)?\n", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"In an MVC app, every valid route must eventually trigger a controller action.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"One common set of RESTful resource actions are the CRUD actions on models.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"A route always contains one or more wildcard parameters, such as \":id\", to identify the particular resource named in the operation.", "correct"=>false, "explanation"=>"Some routes, such as those to list all resources of a given type or create a new resource of a given type, don't require any such identifier."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ce055099-3c3b-4eab-ae41-df0ba9e9af58", "question_comment"=>"", "question_text"=>"Which statements are TRUE regarding Rails routes and the resources to which they refer?", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"4fd5ac06-9d08-4fe3-b4e4-ea1eb7e90aab", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - uses indentation to indicate element nesting?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Haml", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Erb", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"both", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f5c31c4b-d2ab-439f-893e-528a54ba691b", "question_comment"=>"", "question_text"=>"Which rendering system - Haml or Erb - allows not only Ruby variables but arbitrary Ruby code to be interpolated into a template?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"a nonfunctional requirement", "correct"=>false, "explanation"=>"Nonfunctional requirements encompass areas such as reliability and security, but\n       this requirement is strictly about app behavior."}, {"answer_text"=>"a functional requirement", "correct"=>true, "explanation"=>"Correct, because functional requirements are about customer-specified app behavior."}, {"answer_text"=>"an implicit requirement", "correct"=>true, "explanation"=>"Correct, because it derives from the explicit requirement that the Swizzle animation be used"}, {"answer_text"=>"an explicit requirement", "correct"=>false, "explanation"=>"The explicit requirement is that the Swizzle animation occur. The way in which this is accomplished entails implicit requirements, such as the use of a particular library."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6e3957fa-5008-4f28-a1d9-7b15c0ba9798", "question_comment"=>"", "question_text"=>"Your customer explains that it's really important that some UI elements on her site's signup page use a fancy new animation called Swizzle.  Your developers learn that the effect is only available by using a new JavaScript library called jWiggle, and they are concerned about whether there may be compatibility problems between jWiggle and other JavaScript code in your app.  In terms of requirements, the use of jWiggle is:", "multiple"=>true, "randomize"=>false, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The Product Owner sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"The Project Manager sets the number of points each story is worth", "correct"=>false, "explanation"=>"The team typically votes or comes to group consensus on point values for stories."}, {"answer_text"=>"Anyone can work on a story and mark it Finished, but only the Product Owner can officially Deliver it to the customer", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Anyone can mark a story Delivered, but only the Product Owner can mark it as Accepted or Rejected", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"03940952-4436-447c-a019-50a6b16875e9", "question_comment"=>"", "question_text"=>"Which statement best reflects how Agile Scrum-based teams would prioritize and deliver User Stories?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Fork, develop the feature on master of your own fork, and do a pull request", "correct"=>false, "explanation"=>"Since deployment is from the main repo's master branch and not your fork, it's OK to pollute your master branch."}, {"answer_text"=>"Fork, develop the feature on another branch of your own fork, and do a pull request", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Create a branch on the main repo, develop on that branch, then merge the branch into master", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Develop directly on master if the feature only affects one or two files", "correct"=>true, "explanation"=>"Never develop directly on whichever branch is the 'clean' branch that is safe to deploy.  By assumption, in this question that would be the master branch."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cc0cc3e2-8485-47fe-84b7-42ec28d738da", "question_comment"=>"", "question_text"=>"Assuming you are using the \"deploy from master\" methodology in your team, which of the following is NOT a good practice for adding code for a new feature?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Why your xterm window defaults to 80 columns", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"The first computer offered for sale to consumers", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Mabel the swimming wonder monkey", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f42c5491-3bd9-4c5a-be08-a58f71b93eb9", "question_comment"=>"", "question_text"=>"Please answer without asking a colleague or reviewing the lecture videos from this Tuesday: Which topic was NOT included in Armando's Computer History Minute this week?", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2ca71c0c-82a9-4537-83ab-d73cf3d6cfbb", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2ca71c0c-82a9-4537-83ab-d73cf3d6cfbb", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2ca71c0c-82a9-4537-83ab-d73cf3d6cfbb", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fa2fe683-7ac1-404c-a1e2-30183c5d6904", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fa2fe683-7ac1-404c-a1e2-30183c5d6904", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fa2fe683-7ac1-404c-a1e2-30183c5d6904", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"2ca71c0c-82a9-4537-83ab-d73cf3d6cfbb", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fa2fe683-7ac1-404c-a1e2-30183c5d6904", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5c52c37a-c24d-474d-bc6a-70483927baef", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5c52c37a-c24d-474d-bc6a-70483927baef", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5c52c37a-c24d-474d-bc6a-70483927baef", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"acf6c84c-ae0c-404e-b54d-be7cf5dfa0fb", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"acf6c84c-ae0c-404e-b54d-be7cf5dfa0fb", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"acf6c84c-ae0c-404e-b54d-be7cf5dfa0fb", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5c52c37a-c24d-474d-bc6a-70483927baef", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"acf6c84c-ae0c-404e-b54d-be7cf5dfa0fb", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"58d83209-4393-4e55-a0f2-956662659ba2", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"58d83209-4393-4e55-a0f2-956662659ba2", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"58d83209-4393-4e55-a0f2-956662659ba2", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f5b7e280-977c-4ed3-8e21-d0125244aa9c", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f5b7e280-977c-4ed3-8e21-d0125244aa9c", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f5b7e280-977c-4ed3-8e21-d0125244aa9c", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"58d83209-4393-4e55-a0f2-956662659ba2", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"f5b7e280-977c-4ed3-8e21-d0125244aa9c", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"795cb15f-88a8-47e2-b232-c42f23735b37", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"795cb15f-88a8-47e2-b232-c42f23735b37", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"795cb15f-88a8-47e2-b232-c42f23735b37", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"abf550bd-a1f4-4c80-a85d-ff8b716958ea", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"abf550bd-a1f4-4c80-a85d-ff8b716958ea", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"abf550bd-a1f4-4c80-a85d-ff8b716958ea", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Rails itself isn't the problem, but the original Ruby VM does have some performance problems that impede scaling for heavy server workloads.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Rails itself isn't the problem, but the development processes typically used around Rails don't scale well to large teams.", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"If you're building a startup and expect high volume, Raffi Krikorian would advise you to stay away from Ruby and Rails from the start.", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"If Twitter had been architected as a service-oriented architecture from the start, they might have stayed on Ruby/Rails somewhat longer than they did.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"795cb15f-88a8-47e2-b232-c42f23735b37", "question_comment"=>"", "question_text"=>"This should disappear Around 2007, the claim \"Rails doesn't scale\"  was attributed to\nTwitter engineers, and the fact that Twitter later moved\naway from Rails was cited by some as evidence that the claim was true.\nWhich of the following statements (there may be more than one) describe Raffi\nKrikorian's (Twitter Director of Engineering) views on this subject?", "multiple"=>true, "randomize"=>false, "uid"=>1234, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"The basic types of activities involved in software\n            engineering are the same in P&D and Agile methodologies", "correct"=>true, "explanation"=>"\n            True: requirements analysis, design, testing, development,\n            deployment/delivery, and maintenance are all part of both\n            P&D and Agile, but their interaction over the project\n            lifetime differs between P&D and Agile.\n            "}, {"answer_text"=>"Because Agile tends to focus on small teams, it cannot\n                be used effectively to build large systems.", "correct"=>false, "explanation"=>"\n            False: many Agile-developed small services can be connected\n            together to form large services in a Service-Oriented Architecture.\n            For example, Amazon.com is architected this way.\n            "}, {"answer_text"=>"The Waterfall methodology involves the customer much more heavily at\n            the beginning and end of the lifecycle, whereas the XP (extreme\n            programming) methodology involves the customer throughout\n            the lifecycle.", "correct"=>true, "explanation"=>"\n            True: a basic tenet of XP is getting frequent feedback from\n            the customer and using it to inform the next iteration of\n            work.\n            "}, {"answer_text"=>"The Spiral methodology combines elements of the waterfall model\n            with intermediate prototypes.", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"abf550bd-a1f4-4c80-a85d-ff8b716958ea", "question_comment"=>"", "question_text"=>"Which statements comparing Plan-and-Document (P&D) with\n            Agile software engineering processes are true?", "multiple"=>true, "randomize"=>false, "uid"=>5678, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"85bd4c3a-0bd9-42cc-9176-38d51528e646", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"911fb4c9-00df-451c-b9dc-24996af9d29f", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"63a5d6cc-0b6d-4a1c-924e-781c85c93f12", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"63a5d6cc-0b6d-4a1c-924e-781c85c93f12", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"d5943441-6b3f-4fbe-a77b-f06a9d710f94", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"11d0e48b-655f-4c6f-9fc9-ab11a6d35d24", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"85bd4c3a-0bd9-42cc-9176-38d51528e646", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"911fb4c9-00df-451c-b9dc-24996af9d29f", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"63a5d6cc-0b6d-4a1c-924e-781c85c93f12", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"d5943441-6b3f-4fbe-a77b-f06a9d710f94", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"11d0e48b-655f-4c6f-9fc9-ab11a6d35d24", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"83ac532d-b479-48af-824f-b0cdc461152d", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ec0eb7fc-af81-4eea-922d-4059459bc365", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ada25572-f478-4de6-8ea9-fa6588f6d061", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"c7c83a95-1cc5-49f3-8a57-7262f380d021", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"0606f5bc-ab23-4562-ba17-1328471089c1", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"0606f5bc-ab23-4562-ba17-1328471089c1", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"652e97bc-495c-47a8-b30d-01f1b09e14a6", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"26db77df-1ea8-47e9-b4e5-3c5b76e31b89", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ada25572-f478-4de6-8ea9-fa6588f6d061", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"c7c83a95-1cc5-49f3-8a57-7262f380d021", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"0606f5bc-ab23-4562-ba17-1328471089c1", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"652e97bc-495c-47a8-b30d-01f1b09e14a6", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"26db77df-1ea8-47e9-b4e5-3c5b76e31b89", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8a0ad810-b3f4-45cb-bec6-39f12932274e", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"44454611-ced5-4cdc-8978-b7aa362dd5bf", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"2236074a-5769-436c-a55b-b0735e60069e", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"2236074a-5769-436c-a55b-b0735e60069e", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"f43f7b5b-280a-42dd-8864-183cbe020023", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1b59592e-740b-4142-8f2d-82e9b41a04fa", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"8a0ad810-b3f4-45cb-bec6-39f12932274e", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"80", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"400", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"3000", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"8000", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag"], "question_uid"=>"44454611-ced5-4cdc-8978-b7aa362dd5bf", "question_comment"=>"", "question_text"=>"The implied port number of the URI <tt>http://google.com</tt> is", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag", "test_tag2"], "question_uid"=>"2236074a-5769-436c-a55b-b0735e60069e", "question_comment"=>"", "question_text"=>"Which tiers in the three-tier architecture are involved in handling views?", "multiple"=>true, "randomize"=>true, "question_type"=>"SelectMultiple"}
{"answers"=>[{"answer_text"=>"Presentation", "correct"=>true, "explanation"=>nil}, {"answer_text"=>"Logic", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Persistence", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"Database", "correct"=>false, "explanation"=>nil}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>["test_tag2"], "question_uid"=>"f43f7b5b-280a-42dd-8864-183cbe020023", "question_comment"=>"", "question_text"=>"The ----- tier of three-tier SaaS apps is the most complicated to scale.", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1b59592e-740b-4142-8f2d-82e9b41a04fa", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b7c1400-7d92-46c4-bf2b-05be9583198f", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"5b7c1400-7d92-46c4-bf2b-05be9583198f", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"15587394-23bb-4c88-8960-5400a5ed2424", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"15587394-23bb-4c88-8960-5400a5ed2424", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"12a59d95-4e4a-4859-8032-a81eebb0abbb", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"12a59d95-4e4a-4859-8032-a81eebb0abbb", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cb378f4b-b571-45cd-b2d4-3c26d2e2b0ca", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"cb378f4b-b571-45cd-b2d4-3c26d2e2b0ca", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ceb6c2e2-8bc9-44ff-be48-c1ef90dcf93a", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ceb6c2e2-8bc9-44ff-be48-c1ef90dcf93a", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fc62598d-85b9-4c1e-a67c-46d6c08b1a19", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"fc62598d-85b9-4c1e-a67c-46d6c08b1a19", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c7298c66-975c-4a95-8b18-64fd0cf7f9e4", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c7298c66-975c-4a95-8b18-64fd0cf7f9e4", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bda2309a-0c23-4e15-8fde-298b0325ebe9", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bda2309a-0c23-4e15-8fde-298b0325ebe9", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"01fc6752-50c0-44d9-a945-e40ded5b91d2", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"01fc6752-50c0-44d9-a945-e40ded5b91d2", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3389f9e8-3afe-42af-9332-13b3737df6ef", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"3389f9e8-3afe-42af-9332-13b3737df6ef", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a6e8229e-3ff2-40c1-b410-9c0a8bfbfe64", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a6e8229e-3ff2-40c1-b410-9c0a8bfbfe64", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1d83d5be-3be4-4568-8fb5-a9b7250748eb", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1d83d5be-3be4-4568-8fb5-a9b7250748eb", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b4c1f943-f592-441e-ba6d-bc266aac4cf9", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b4c1f943-f592-441e-ba6d-bc266aac4cf9", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1f2eaba4-782d-46c3-96f3-2b9b98a90e42", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1f2eaba4-782d-46c3-96f3-2b9b98a90e42", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b40d6533-9a19-4e82-9893-6b2646ecda1d", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b40d6533-9a19-4e82-9893-6b2646ecda1d", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"02c574d2-2c6c-42aa-b7c9-1ad7edc5b232", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"02c574d2-2c6c-42aa-b7c9-1ad7edc5b232", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ef094460-ffde-49fa-b6d5-425c8c42cbda", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"ef094460-ffde-49fa-b6d5-425c8c42cbda", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"247143b1-8076-4c74-92d6-d3a8b78e31c4", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"247143b1-8076-4c74-92d6-d3a8b78e31c4", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6dafdb44-72da-437f-807f-62633f792f59", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6dafdb44-72da-437f-807f-62633f792f59", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0071b4cb-41c6-441a-806c-97d301ebfb55", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0071b4cb-41c6-441a-806c-97d301ebfb55", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6fd3fcd6-a8ec-453f-8371-b43af91bcd91", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"6fd3fcd6-a8ec-453f-8371-b43af91bcd91", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e173c3b7-1d85-435a-9dd8-c41c5ba18fef", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"e173c3b7-1d85-435a-9dd8-c41c5ba18fef", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"634f891e-1fbc-4ec4-b140-0ae7b76bac37", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"634f891e-1fbc-4ec4-b140-0ae7b76bac37", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b07aa12e-2d6f-4caf-8bc1-e58919c1b2b7", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"b07aa12e-2d6f-4caf-8bc1-e58919c1b2b7", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1fbe6f06-3aa1-4237-bb99-fc5b49f3b503", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1fbe6f06-3aa1-4237-bb99-fc5b49f3b503", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1dd160ac-98ce-4c4f-a1b0-582ea4628241", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1dd160ac-98ce-4c4f-a1b0-582ea4628241", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bf3ec248-3852-48a8-b4bb-0c8a3c8f6c05", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"bf3ec248-3852-48a8-b4bb-0c8a3c8f6c05", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0f7fbac8-6b53-4af3-828a-dd7beff5d9ff", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0f7fbac8-6b53-4af3-828a-dd7beff5d9ff", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1538bfe3-4a7a-40f8-86ee-fcb5b0f8d0ff", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"1538bfe3-4a7a-40f8-86ee-fcb5b0f8d0ff", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a799c776-f4a1-4f87-b7a7-918f9373a5be", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"a799c776-f4a1-4f87-b7a7-918f9373a5be", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"849df44e-3aa9-4007-a3dd-cb53f6816ae7", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"849df44e-3aa9-4007-a3dd-cb53f6816ae7", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"93b4567f-575e-42c6-a869-55c5950a20ab", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"93b4567f-575e-42c6-a869-55c5950a20ab", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c9c15c60-ce62-432a-a84c-f10a6a15c7d1", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c9c15c60-ce62-432a-a84c-f10a6a15c7d1", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0646335d-f2e5-46ac-ba9f-be008ec620cf", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"0646335d-f2e5-46ac-ba9f-be008ec620cf", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"dd4c7313-dbbb-4baf-b349-cda4214fdd85", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"dd4c7313-dbbb-4baf-b349-cda4214fdd85", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"6f07218b-583b-41ff-8996-7c0b70e7ca2d", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"6f07218b-583b-41ff-8996-7c0b70e7ca2d", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c694230b-64fd-4434-b571-67b826b1d035", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"c694230b-64fd-4434-b571-67b826b1d035", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"78c0fb16-8047-4215-8e41-ce36e23bbb37", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"HTTP", "correct"=>false, "explanation"=>"HTTP stands for HyperText Transfer Protocol, which is used to transfer SaaS content to browsers."}, {"answer_text"=>"Get, Put, Post, Delete", "correct"=>false, "explanation"=>"These are four of the methods or \"verbs\" used by HTTP."}, {"answer_text"=>"CRUD", "correct"=>true, "explanation"=>"Create, Read, Update, Delete are the four basic database operations commonly performed by SaaS apps."}, {"answer_text"=>"REST", "correct"=>false, "explanation"=>"REpresentational State Transfer is a design approach for making SaaS requests self-contained by having each request refer to a resource and an operation on that resource."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>nil, "question_tags"=>[], "question_uid"=>"78c0fb16-8047-4215-8e41-ce36e23bbb37", "question_comment"=>"", "question_text"=>"Which of the following best identifies the four basic operations supported by RDBMS?", "multiple"=>false, "randomize"=>true, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"34a53eeb-054d-4cf2-bcf8-bcbfd3710526", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"34a53eeb-054d-4cf2-bcf8-bcbfd3710526", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "uid"=>"47ca4c13-7c70-43cb-98cf-1070b0066905", "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"c8b90fa3-638a-4828-86b0-e635b6796e16", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}
{"answers"=>[{"answer_text"=>"CRUD action, database", "correct"=>false, "explanation"=>nil}, {"answer_text"=>"header, cookie", "correct"=>false, "explanation"=>"A header is part of the request, but a cookie is not necessarily included unless the server previously specified one."}, {"answer_text"=>"URL, wildcard", "correct"=>false, "explanation"=>"A URL is necessary, but not a wildcard."}, {"answer_text"=>"URI, HTTP request method", "correct"=>true, "explanation"=>"The URI alone isn't enough--the same URI used with two different methods can cause two different actions."}], "points"=>1, "raw"=>nil, "global_explanation"=>nil, "name"=>nil, "question_image"=>"http://www.websiteoptimization.com/secrets/metrics/10-21-http-request.png", "question_tags"=>[], "question_uid"=>"c8b90fa3-638a-4828-86b0-e635b6796e16", "question_comment"=>"", "question_text"=>"An HTTP request must consist of both a(n) ----- and a(n) -----", "multiple"=>false, "randomize"=>false, "question_type"=>"MultipleChoice"}