FINAL CSE 3901 Questions with Detailed Verified
Answers
Advantages Thin Clients have over Thick Clients Ans: performance, flexibility,
robustness, security
Unit Testing Ans: Individual components are tested in isolation under unit test (UUT).
Black box is testing only to specifications, White box is testing based on code
structure
Integration Testing Ans: Modules are tested in combination to check interfaces. Best
done incrementally.
Bottom Up: start with most basic, easy to exercise all features, can write a driver for
higher levels
Top down: Start at top (main) test interfaces early
System Testing Ans: Verify that systems as a whole meet the requirements and
specifications.
alpha: tested by developers before release
beta: by "friendly customers" before general release
acceptance: by end customer, they better be happy!
TDD Ans: Test Driven Development
Repository = ? Ans: working tree + store
working tree Ans: the project itself, an ordinary directory including files and sub
directories. developers retrieve copies to work on
,store Ans: hidden directory (.git) in root directory of working tree. Brings in a time
component. You should never access .git directly
Commit Ans: creates a snapshot, each is identified by a hash and is almost guaranteed
to be unique.
Index Ans: virtual snapshot stored at .git/index. this is a gateway for moving changes
made in the working tree to the store
Snapshot Ans: apply your modifications in the working copy to the repository.
changes the repository, "commits" changes
History Ans: Directed Acyclic Graph of snapshots. Stacking a snapshot and its
predecessors gives a snapshot of the project (aka a revision or a version)
Branch Ans: pointer to a commit
Head Ans: a special reference, usually pointing to a branch. think that this is "attached"
to a branch
git status Ans: displays differences between head and index
git add Ans: updates index based on files in working tree
git commit Ans: stores current content of index along with a log message (makes wt
== index)
git branch Ans: creates a new branch pointing to where the head is
git checkout xxx Ans: updates index and working tree, points head to whatever the
argument is. only do this if the working tree is clean
git log Ans: display snapshots in a store, DAG
merge Ans: bring history together, bring work from another branch into the current
branch
© Get it right 2025 Getaway - Stuvia US All rights reserved
,DVC Ans: Distributed Version Control, multiple people distributed across a network
contributing to a central repository
Dynamically Typed Programming Language Ans: variables do not have to have types,
objects (which variables point to) do
primitive types in ruby Ans: numbers, strings, ranges, regular expressions
numbers Ans: integers (Fixnum, Bignum)
float: double precision!
strings Ans: over 75 built in methods
split Ans: splits a string into an array of strings based on a separator
chomp Ans: returns a string with the separator string removed. if nothing, good for
removing whitespace & newlines
ranges Ans: 1..10 is represented as two values of type fixnum
0..4 includes start and end value
0...4 does not
Local (ruby) Ans: starts with a lowercase letter or _
global (ruby) Ans: starts with $
instance (ruby) Ans: starts with @
class (ruby) Ans: starts with @@
mutability Ans: Constants start with Uppercase, IDIOM is all UPCASE
© Get it right 2025 Getaway - Stuvia US All rights reserved
, self (ruby) Ans: receiver of the current method (this)
nil Ans: nothingness in ruby
__FILE__ Ans: the current source file name
__LINE__ Ans: the current line number
if statement ruby Ans: if x < 10
#do a thing
else [or elsif]
#do a different thing
end
unless ruby Ans: unless x == 10
#do some thing
while Ans: while bool do
work() while awake
until Ans: [while not]
sleep( ) until morning
<=> Ans: rocketship!
if a < b then return -1
if a = b then return 0
© Get it right 2025 Getaway - Stuvia US All rights reserved
Answers
Advantages Thin Clients have over Thick Clients Ans: performance, flexibility,
robustness, security
Unit Testing Ans: Individual components are tested in isolation under unit test (UUT).
Black box is testing only to specifications, White box is testing based on code
structure
Integration Testing Ans: Modules are tested in combination to check interfaces. Best
done incrementally.
Bottom Up: start with most basic, easy to exercise all features, can write a driver for
higher levels
Top down: Start at top (main) test interfaces early
System Testing Ans: Verify that systems as a whole meet the requirements and
specifications.
alpha: tested by developers before release
beta: by "friendly customers" before general release
acceptance: by end customer, they better be happy!
TDD Ans: Test Driven Development
Repository = ? Ans: working tree + store
working tree Ans: the project itself, an ordinary directory including files and sub
directories. developers retrieve copies to work on
,store Ans: hidden directory (.git) in root directory of working tree. Brings in a time
component. You should never access .git directly
Commit Ans: creates a snapshot, each is identified by a hash and is almost guaranteed
to be unique.
Index Ans: virtual snapshot stored at .git/index. this is a gateway for moving changes
made in the working tree to the store
Snapshot Ans: apply your modifications in the working copy to the repository.
changes the repository, "commits" changes
History Ans: Directed Acyclic Graph of snapshots. Stacking a snapshot and its
predecessors gives a snapshot of the project (aka a revision or a version)
Branch Ans: pointer to a commit
Head Ans: a special reference, usually pointing to a branch. think that this is "attached"
to a branch
git status Ans: displays differences between head and index
git add Ans: updates index based on files in working tree
git commit Ans: stores current content of index along with a log message (makes wt
== index)
git branch Ans: creates a new branch pointing to where the head is
git checkout xxx Ans: updates index and working tree, points head to whatever the
argument is. only do this if the working tree is clean
git log Ans: display snapshots in a store, DAG
merge Ans: bring history together, bring work from another branch into the current
branch
© Get it right 2025 Getaway - Stuvia US All rights reserved
,DVC Ans: Distributed Version Control, multiple people distributed across a network
contributing to a central repository
Dynamically Typed Programming Language Ans: variables do not have to have types,
objects (which variables point to) do
primitive types in ruby Ans: numbers, strings, ranges, regular expressions
numbers Ans: integers (Fixnum, Bignum)
float: double precision!
strings Ans: over 75 built in methods
split Ans: splits a string into an array of strings based on a separator
chomp Ans: returns a string with the separator string removed. if nothing, good for
removing whitespace & newlines
ranges Ans: 1..10 is represented as two values of type fixnum
0..4 includes start and end value
0...4 does not
Local (ruby) Ans: starts with a lowercase letter or _
global (ruby) Ans: starts with $
instance (ruby) Ans: starts with @
class (ruby) Ans: starts with @@
mutability Ans: Constants start with Uppercase, IDIOM is all UPCASE
© Get it right 2025 Getaway - Stuvia US All rights reserved
, self (ruby) Ans: receiver of the current method (this)
nil Ans: nothingness in ruby
__FILE__ Ans: the current source file name
__LINE__ Ans: the current line number
if statement ruby Ans: if x < 10
#do a thing
else [or elsif]
#do a different thing
end
unless ruby Ans: unless x == 10
#do some thing
while Ans: while bool do
work() while awake
until Ans: [while not]
sleep( ) until morning
<=> Ans: rocketship!
if a < b then return -1
if a = b then return 0
© Get it right 2025 Getaway - Stuvia US All rights reserved