CSE 3901 STUDY GUIDE 2026 EXAM MOST TESTED
QUESTIONS AND VERIFIED SOLUTIONS
a working tree + store + index - ANSWER-github: what is a repository?
the project itself - ANSWER-github: what is a working tree?
hidden directory (.git) in root directory of working tree
User never accesses .git directly
Store records project development history - ANSWER-github: what is a store?
DAG of commits
Each commit represents a complete snapshot of the entire project - ANSWER-github: what is
history?
virtual snapshot stored in .git/index - ANSWER-github: what is an index?
a pointer to a commit - ANSWER-github: what is a branch?
git branch nameOfBranch - ANSWER-github: command to create a new branch
git checkout fix - ANSWER-github: change to branch titled 'fix'
git add --all .
git commit - ANSWER-github: add and commit changes to local store
http://web.cse.ohio-state.edu/~giles/3901/lectures/lecture02.pdf - ANSWER-github: problem
on slide 42 http://web.cse.ohio-state.edu/~giles/3901/lectures/lecture02.pdf
0, 1, 2, 3, 4 - ANSWER-ruby: what is the following range 0..4
0, 1, 2, 3 - ANSWER-ruby: what is the following range 0...4
Returns -1/0/1 if LHS is smaller/equal/larger than RHS - ANSWER-ruby: what does the <=>
operator do?
-1 - ANSWER-ruby: what does "cab" <=> "da" return?
1 - ANSWER-ruby: what does "cab" <=> "ba" return?
,i = 34, j = 35 - ANSWER-i = 34
j = i # i and j are aliases
j = j + 1 # does this increment i too?
what is the value of i and j?
prints 0 to 24 - ANSWER-what does the following statement do?
i = 10
25.times { | i | puts i }
"tania".length - ANSWER-ruby: write a statement that returns the length of your name
"exam".reverse - ANSWER-ruby: write a statement that reverses the word "exam"
puts "Tania".upcase - ANSWER-ruby: write a statement that prints "Tania" in uppercase
puts "Tania".downcase - ANSWER-ruby: write a statement that prints "Tania" in lowercase
puts "What is your first name?"
name = gets.chomp
puts "Your first name is #{name.capitalize!}" - ANSWER-ruby: write a statement that asks for the
users first name and prints the result in the following format: Your first name is (name). The
name should be capitalized
for i in 1..20
next if i % 2 != 0
puts i
end - ANSWER-ruby: write a for loop that prints all even numbers between 1 and 20
num = 1
until num > 10
puts num
num += 1
end - ANSWER-ruby: write a looping using until that prints numbers 1 to 20
Start of method
In the block
, In the block
End of method - ANSWER-What does the following code output?
def call_block
puts 'Start of method'
yield
yield
puts 'End of method'
end
call_block {puts 'In the block'}
equal? : Checks if the object id is the same (reference value)
eql? : True if the receiver and argument have both the same type and equal values (same hash
key).
=== : tests range inclusion
== : Checks if the value of two operands are equal or not - ANSWER-What's the difference
between equal?, eql?, ===, and == ?
10^20 - ANSWER-a = 10
b = 20
What is the return value for a**b?
position = "cat o' 9 tails" =~ /a/
puts position - ANSWER-write a statement that prints the index of the first occurrence of 'a' in
the string "cat o' 9 tails"
FixNum, Float, Rational, Complex - ANSWER-what are the different number types in ruby?
#=> expected - ANSWER-what is the ruby convention to indicate an expected result as a
comment on a line of code?
QUESTIONS AND VERIFIED SOLUTIONS
a working tree + store + index - ANSWER-github: what is a repository?
the project itself - ANSWER-github: what is a working tree?
hidden directory (.git) in root directory of working tree
User never accesses .git directly
Store records project development history - ANSWER-github: what is a store?
DAG of commits
Each commit represents a complete snapshot of the entire project - ANSWER-github: what is
history?
virtual snapshot stored in .git/index - ANSWER-github: what is an index?
a pointer to a commit - ANSWER-github: what is a branch?
git branch nameOfBranch - ANSWER-github: command to create a new branch
git checkout fix - ANSWER-github: change to branch titled 'fix'
git add --all .
git commit - ANSWER-github: add and commit changes to local store
http://web.cse.ohio-state.edu/~giles/3901/lectures/lecture02.pdf - ANSWER-github: problem
on slide 42 http://web.cse.ohio-state.edu/~giles/3901/lectures/lecture02.pdf
0, 1, 2, 3, 4 - ANSWER-ruby: what is the following range 0..4
0, 1, 2, 3 - ANSWER-ruby: what is the following range 0...4
Returns -1/0/1 if LHS is smaller/equal/larger than RHS - ANSWER-ruby: what does the <=>
operator do?
-1 - ANSWER-ruby: what does "cab" <=> "da" return?
1 - ANSWER-ruby: what does "cab" <=> "ba" return?
,i = 34, j = 35 - ANSWER-i = 34
j = i # i and j are aliases
j = j + 1 # does this increment i too?
what is the value of i and j?
prints 0 to 24 - ANSWER-what does the following statement do?
i = 10
25.times { | i | puts i }
"tania".length - ANSWER-ruby: write a statement that returns the length of your name
"exam".reverse - ANSWER-ruby: write a statement that reverses the word "exam"
puts "Tania".upcase - ANSWER-ruby: write a statement that prints "Tania" in uppercase
puts "Tania".downcase - ANSWER-ruby: write a statement that prints "Tania" in lowercase
puts "What is your first name?"
name = gets.chomp
puts "Your first name is #{name.capitalize!}" - ANSWER-ruby: write a statement that asks for the
users first name and prints the result in the following format: Your first name is (name). The
name should be capitalized
for i in 1..20
next if i % 2 != 0
puts i
end - ANSWER-ruby: write a for loop that prints all even numbers between 1 and 20
num = 1
until num > 10
puts num
num += 1
end - ANSWER-ruby: write a looping using until that prints numbers 1 to 20
Start of method
In the block
, In the block
End of method - ANSWER-What does the following code output?
def call_block
puts 'Start of method'
yield
yield
puts 'End of method'
end
call_block {puts 'In the block'}
equal? : Checks if the object id is the same (reference value)
eql? : True if the receiver and argument have both the same type and equal values (same hash
key).
=== : tests range inclusion
== : Checks if the value of two operands are equal or not - ANSWER-What's the difference
between equal?, eql?, ===, and == ?
10^20 - ANSWER-a = 10
b = 20
What is the return value for a**b?
position = "cat o' 9 tails" =~ /a/
puts position - ANSWER-write a statement that prints the index of the first occurrence of 'a' in
the string "cat o' 9 tails"
FixNum, Float, Rational, Complex - ANSWER-what are the different number types in ruby?
#=> expected - ANSWER-what is the ruby convention to indicate an expected result as a
comment on a line of code?