CSE 3901 – Midterm 2 Exam (2025) | Software Engineering Project Practice & Coding Assessment
STATIC SITES SECTION - (ANSWER)---
What is static site generation? - (ANSWER)Using a program to produce HTML pages
(kind of like compiling programs)
Middleman
what are the source files used in SSG? - (ANSWER).md
.erb
.scss
What is Middleman? - (ANSWER)A ruby Gem
the project is its own directory
lots of subdirectories for css, images, etc
Compile the source files like a program
can then copy to any location
What are the three benefits of using a program for Static Site Generation? - (ANSWER)1. Code reuse and
single point of control (visual identity)
2. Authoring of content in a language that is more human-friendly (improved syntax)
3. Parameterized generation of markup and content (content generation)
Describe Visual Identity (code reuse/single POC) Motivation - (ANSWER)-Having common headers and
footers and making the whole website have a base design for every page
-duplicated code ruins single POC
-Solution: putting common HTML in one file (a partial) and every page includes it
What is ERb? - (ANSWER)Embedded Ruby
-things like <% code %> <%= expr %> and <%# text %>
,CSE 3901 – Midterm 2 Exam (2025) | Software Engineering Project Practice & Coding Assessment
How to generate a site - (ANSWER)save source files as html.erb
>> bundle exec middleman build
this then makes them .html
what is a partial - (ANSWER)a document fragment included in other documents
-include in template as <%= partial "navigation" %>
what is special about naming a partial? - (ANSWER)they always start with _ and end in .erb still (no html)
How to customize arguments with a partial - (ANSWER)in the normal page when you call the partial:
<%= partial "banner", :locals => { :name => "Syllabus", :amount => 34 } %>
in the partial file:
<h3> ,%= name %> </h3>
<p> Costs <%= "$#{amount}.00" %></p>
What is Layout - (ANSWER)It is a file that can make a consistent structure across every page in a website
How do you label where there's page specific stuff in Layout.erb? - (ANSWER)<%= yield =>
How do you fix the issue of using a layout when each page needs a diff <title>? - (ANSWER)Ruby variable
current_page
ie: current_page.path
So in the actual page file you put:
<title><%= current_page.data.title %> </title>
, CSE 3901 – Midterm 2 Exam (2025) | Software Engineering Project Practice & Coding Assessment
and in the layout.erb:
---
title: "Contact Info"
---
What is the main difference in syntax when using middleman? - (ANSWER)Not having to use tags
because that part is in layout
What are some common plain text conventions? - (ANSWER)blank lines between paragraphs
Underlining: - or =
Emphasize: *words*, _words_, **words**
Links: [text](url)
unordered lists: * or -
ordered lists: 1. 2. 3.
What formalizes these shortcuts? - (ANSWER)Markdown
What are CSS magic numbers? - (ANSWER)They are basically variables so you don't have to keep writing
the same hex for a color for example
How do you declare a CSS magic number? - (ANSWER)$primary: #ff14a6
then use:
h1 {color: $primary;}
What does SASS allow for CSS? - (ANSWER)declaring diff css styles in one {} under a class name
STATIC SITES SECTION - (ANSWER)---
What is static site generation? - (ANSWER)Using a program to produce HTML pages
(kind of like compiling programs)
Middleman
what are the source files used in SSG? - (ANSWER).md
.erb
.scss
What is Middleman? - (ANSWER)A ruby Gem
the project is its own directory
lots of subdirectories for css, images, etc
Compile the source files like a program
can then copy to any location
What are the three benefits of using a program for Static Site Generation? - (ANSWER)1. Code reuse and
single point of control (visual identity)
2. Authoring of content in a language that is more human-friendly (improved syntax)
3. Parameterized generation of markup and content (content generation)
Describe Visual Identity (code reuse/single POC) Motivation - (ANSWER)-Having common headers and
footers and making the whole website have a base design for every page
-duplicated code ruins single POC
-Solution: putting common HTML in one file (a partial) and every page includes it
What is ERb? - (ANSWER)Embedded Ruby
-things like <% code %> <%= expr %> and <%# text %>
,CSE 3901 – Midterm 2 Exam (2025) | Software Engineering Project Practice & Coding Assessment
How to generate a site - (ANSWER)save source files as html.erb
>> bundle exec middleman build
this then makes them .html
what is a partial - (ANSWER)a document fragment included in other documents
-include in template as <%= partial "navigation" %>
what is special about naming a partial? - (ANSWER)they always start with _ and end in .erb still (no html)
How to customize arguments with a partial - (ANSWER)in the normal page when you call the partial:
<%= partial "banner", :locals => { :name => "Syllabus", :amount => 34 } %>
in the partial file:
<h3> ,%= name %> </h3>
<p> Costs <%= "$#{amount}.00" %></p>
What is Layout - (ANSWER)It is a file that can make a consistent structure across every page in a website
How do you label where there's page specific stuff in Layout.erb? - (ANSWER)<%= yield =>
How do you fix the issue of using a layout when each page needs a diff <title>? - (ANSWER)Ruby variable
current_page
ie: current_page.path
So in the actual page file you put:
<title><%= current_page.data.title %> </title>
, CSE 3901 – Midterm 2 Exam (2025) | Software Engineering Project Practice & Coding Assessment
and in the layout.erb:
---
title: "Contact Info"
---
What is the main difference in syntax when using middleman? - (ANSWER)Not having to use tags
because that part is in layout
What are some common plain text conventions? - (ANSWER)blank lines between paragraphs
Underlining: - or =
Emphasize: *words*, _words_, **words**
Links: [text](url)
unordered lists: * or -
ordered lists: 1. 2. 3.
What formalizes these shortcuts? - (ANSWER)Markdown
What are CSS magic numbers? - (ANSWER)They are basically variables so you don't have to keep writing
the same hex for a color for example
How do you declare a CSS magic number? - (ANSWER)$primary: #ff14a6
then use:
h1 {color: $primary;}
What does SASS allow for CSS? - (ANSWER)declaring diff css styles in one {} under a class name