Beruflich Dokumente
Kultur Dokumente
John Gash
Email*:
john.gash@sjsu.edu
Office Hours:
Class Days/Time:
Classroom:
Engr, R/337
Page 1 of 1
Version 1
8/24/14
Required
Texts/Readings
Textbook
A
specific
textbook(s)
is
not
required
for
this
course.
You
are
encouraged
to
use
all
resources
normally
available
in
a
working
environment
(e.g.,
books,
Internet,
papers,
discussions,
COTS
or
F/OSS
software
packages,
sample
code).
You
must
cite
your
references
in
all
your
work.
Supporting
Readings
Project 1
Project 2
Deep-dive w/ paper
Final Examination
15
15
15
20
65
pts
pts
pts
pts
pts
Grading
is
based
on
points
accumulated
through
individual
work
(final
and
paper)
and
group-based
projects.
Group
grades
are
assigned
individually
based
on
project
participation.
You
may
observe
large
fluctuations
in
your
percentage
grade
at
the
beginning
of
the
semester.
Should
you
experience
these
larges
variations,
please
Page 2 of 2
Version 1
8/24/14
keep
in
mind
that
as
you
accumulate
points
the
variations
will
be
dampened.
Instantaneous
grade
calculations
are
only
an
indicator
where
you
are
at
a
moment
in
time,
and
helps
you
understand
the
potential
within
the
course.
It
is
your
responsibility
to
set
your
goals.
Regarding
group
projects,
each
group
is
responsible
for
ensuring
equal
contribution
to
a
project.
Your
level
of
contribution
to
project
deliverables
is
a
long-term
investment.
While
gaming
is
always
possible,
you
are
doing
yourself
a
disservice.
University
Policies:
Dropping
and
Adding
Students
are
responsible
for
understanding
the
policies
and
procedures
about
add/drop,
grade
forgiveness,
etc.
Refer
to
the
current
semesters
Catalog
Policies
section
at
http://info.sjsu.edu/static/catalog/policies.html.
Add/drop
deadlines
can
be
found
on
the
current
academic
year
calendars
document
on
the
Academic
Calendars
webpage
at
http://www.sjsu.edu/provost/services/academic_calendars/.
The
Late
Drop
Policy
is
available
at
http://www.sjsu.edu/aars/policies/latedrops/policy/.
Students
should
be
aware
of
the
current
deadlines
and
penalties
for
dropping
classes.
Information
about
the
latest
changes
and
news
is
available
at
the
Advising
Hub
at
http://www.sjsu.edu/advising/.
Consent
for
Recording
of
Class
and
Public
Sharing
of
Instructor
Material
University
Policy
S12-7,
http://www.sjsu.edu/senate/docs/S12-7.pdf,
requires
students
to
obtain
instructors
permission
to
record
the
course.
Common
courtesy
and
professional
behavior
dictate
that
you
notify
someone
when
you
are
recording
him/her.
You
must
obtain
the
instructors
permission
to
make
audio
or
video
recordings
in
this
class.
Such
permission
allows
the
recordings
to
be
used
for
your
private,
study
purposes
only.
The
recordings
are
the
intellectual
property
of
the
instructor;
you
have
not
been
given
any
rights
to
reproduce
or
distribute
the
material.
o
It
is
suggested
that
the
greensheet
include
the
instructors
process
for
granting
permission,
whether
in
writing
or
orally
and
whether
for
the
whole
semester
or
on
a
class
by
class
basis.
o
In
classes
where
active
participation
of
students
or
guests
may
be
on
the
recording,
permission
of
those
students
or
guests
should
be
obtained
as
well.
Course
material
developed
by
the
instructor
is
the
intellectual
property
of
the
instructor
and
cannot
be
shared
publicly
without
his/her
approval.
You
may
not
publicly
share
or
upload
instructor
generated
material
for
this
course
such
as
exam
questions,
lecture
notes,
or
homework
solutions
without
instructor
consent.
Academic
integrity
Your
commitment
as
a
student
to
learning
is
evidenced
by
your
enrollment
at
San
Jose
State
University.
The
Error!
Hyperlink
reference
not
valid.
at
http://www.sjsu.edu/senate/docs/S07-2.pdf
requires
you
to
be
honest
in
all
your
academic
course
work.
Faculty
members
are
required
to
report
all
infractions
to
the
office
of
Student
Conduct
and
Ethical
Development.
The
Student
Conduct
and
Ethical
Development
website
is
available
at
http://www.sjsu.edu/studentconduct/.
Campus
Policy
in
Compliance
with
the
American
Disabilities
Act
If
you
need
course
adaptations
or
accommodations
because
of
a
disability,
or
if
you
need
to
make
special
arrangements
in
case
the
building
must
be
evacuated,
please
make
an
appointment
with
me
as
soon
as
possible,
or
see
me
during
office
hours.
Presidential
Directive
97-03
at
http://www.sjsu.edu/president/docs/directives/PD_1997-03.pdf
requires
that
students
with
disabilities
requesting
accommodations
must
register
with
the
Accessible
Education
Center
(AEC)
at
http://www.sjsu.edu/aec
to
establish
a
record
of
their
disability.
Page 3 of 3
Version 1
8/24/14
Storage
perspective
Project
2
(No-SQL
DBs
strategies)
Tentative
Schedule
(subject
to
change)
Dates
&
Assignments
Topics
and
Objectives
(est.
number
of
lectures)
Aug
27
Introductions,
ingredients,
and
other
administrative
stuff
(.4)
1. Schedule
and
projects
2. Development
environment
and
tools
3. Using
architecture
patterns
and
supporting
your
decisions
Provisioning
your
computer
1. Languages,
tools,
and
such
Sep
3
Relational
database
frameworks
and
strategies
Project
1
handout
Concepts
(.5)
Sep
10
1. Reviewing
the
Normal
Forms
-
NF
2. Patterns
Sep
17
Object-Relational
Mapping
frameworks
(2.5)
Sep
24
1. Java-based
(Hibernate,
JPA)
2. Non-Java
based
(ActiveRecord,
TBD)
Scaling
and
Failover
(1)
1. Shared
nothing
-
Sharding
2. Latency
in
replicated
data
3. In-memory
databases
Oct
1
Alternate
storage
models
and
tools
Oct
8
Tools
(1)
1. Anaconda
(IPython)
Oct
15
Project
1
due
Storage
(2)
Project
2
handout
1. In-memory
databases
2. File-based
(HDF5/NetCDF,
CSV/XML/JSON,..)
3. Hive's
data
model
Oct
22
No-SQL
Solutions
Project
1
roundtable
Concepts:
(.5)
Oct
29
1. Consistent-Available-Partitioned
-
CAP
Theory
2. Social
data
analysis
Nov
5
Indexing
frameworks
(1)
Nov
12
Distributed
Hash
Tables
-
DHTs
(1)
Nov
19
1. Highly
available
storage
solutions
Project
2
due
a. Riak
b. Cassandra
Nov
26
Thanksgiving
Holiday
Document-based
frameworks
(1.5)
1. Mongodb
2. Cross
platform/language
support
Mixing
storage
solutions
-
designing
for
diverse
storage
models
(1)
Graph
databases
(.5)
-
TBD
Dec
3
Review
and
presentations
continued
Deep
dive
presentations
Dec
10
Dec
17
Final
Exam
(All
material
and
deep
dives)
Page 4 of 4
Version 1
8/24/14
Note:
topics
span
multiple
lectures
and
are
subject
to
revisions
and
changes
due
to
factors
such
as
time
constraints,
travel,
or
extended
discussion
(except
for
the
exam
date,
which
is
fixed).
Page 5 of 5
Version 1
8/24/14
Additional
information
The
following
information
is
provided
to
help
in
increasing
your
overall
experience
with
CmpE
226.
This
course
includes
interactive
discussions
and
hands
on
software
development
and
research
relating
to
computing
methodologies
and
technologies
for
storage
systems.
Consequently,
a
considerable
level
of
effort
and
time
will
be
required
for
research
and
software
development
(two
software
projects).
Details
follow.
Class/Lecture.
Class
discussion
is
an
interactive
exploration
of
concepts
and
ideas
focusing
on
real
world
situations
(businesses,
social,
and
research),
which
includes
participation
in
critical
problem
solving,
articulating
concepts,
defending
positions,
and
presenting
ideas
within
a
group
environment.
You
are
required
to
prepare
for
each
meeting
by
researching
and
investigating
topics;
this
may
include
literature
searching,
prototyping,
and
Internet
investigation.
We
look
at
and
discuss
situations
that
you
may
experience,
they
include
though
not
limited
to:
Concepts
Scenarios
Legacy Integration
Collaboration
data)
Fault Tolerant
Page 6 of 6
Version 1
8/24/14
In
order
to
facilitate
grading
and
prompt
feedback,
projects
should
be
submitted
one
per
group
and
in
the
following
format:
Within
the
project
directory
include
the
report,
source
code,
and
test
data.
If
a
large
quantity
of
data
is
to
provided,
only
include
data
for
testing.
Do
not
include
libraries
(jars)
used
to
build
your
project.
The
report
should
include
a
list
of
dependencies
and
how
to
retrieve/install/configure.
project1-crunch/
Installation notes
crunch-project-report.doc (.pdf)
Page 7 of 7
Version 1
8/24/14
are
for
the
discussion
and
examination
of
the
topic
at
hand.
Everyone
is
required
to
fully
participate
in
all
discussions.
Projects.
Real
world
projects
are
not
completed
in
isolation
(bring
me
a
rock),
they
are
interactive,
exploratory,
evolving,
and
advisory
in
nature;
our
class
projects
mimic
these
traits.
In
support
of
project
assignments,
lectures
and
lab
include
time
to
foster
and
support
discussions
on
project
approaches,
strategies,
and
implementation.
Please
plan
your
time
accordingly;
projects
are
software
intensive,
which
require
significant
investment
of
time
and
research.
They
are
also
rewarding,
as
they
provide
a
unique
opportunity
to
practice
and
validate
ones
research
and
studies
of
the
domain
and
technologies.
Page 8 of 8
Version 1
8/24/14