Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
se2aa4_cs2me3
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
W. Spencer Smith
se2aa4_cs2me3
Commits
9da9091d
Commit
9da9091d
authored
7 years ago
by
W. Spencer Smith
Browse files
Options
Downloads
Patches
Plain Diff
Updates to A3 description
parent
9c888bf3
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
Assignments/A3/A3.pdf
+0
-0
0 additions, 0 deletions
Assignments/A3/A3.pdf
Assignments/A3/A3.tex
+54
-17
54 additions, 17 deletions
Assignments/A3/A3.tex
Assignments/A3/Examples.jpeg
+0
-0
0 additions, 0 deletions
Assignments/A3/Examples.jpeg
with
54 additions
and
17 deletions
Assignments/A3/A3.pdf
+
0
−
0
View file @
9da9091d
No preview for this file type
This diff is collapsed.
Click to expand it.
Assignments/A3/A3.tex
+
54
−
17
View file @
9da9091d
...
...
@@ -3,6 +3,7 @@
\usepackage
{
graphicx
}
\usepackage
{
paralist
}
\usepackage
{
amsfonts
}
\usepackage
{
listings
}
\oddsidemargin
0mm
\evensidemargin
0mm
...
...
@@ -79,16 +80,18 @@ declaring them as private.
\section
*
{
Step
\refstepcounter
{
stepnum
}
\thestepnum
}
Complete the specification by addressing the comments given in the specification
file
\texttt
{
spec.tex
}
.
file
\texttt
{
spec.tex
}
. To help you interpret the specification, some examples
are shown in the Appendix to this assignment.
\section
*
{
Step
\refstepcounter
{
stepnum
}
\thestepnum
}
Write a critique of the interface for the modules in this project. Is there
anything missing? Is there anything you would consider changing? Why?
anything missing? Is there anything you would consider changing? Why? You
critique should appear as the last section of
\texttt
{
spec.tex
}
.
\section
*
{
Step
\refstepcounter
{
stepnum
}
\thestepnum
}
Push your spec, which will include the critique, (
\texttt
{
spec.tex
}
and
Push your spec, which will include the critique,
in
(
\texttt
{
spec.tex
}
and
\texttt
{
spec.pdf
}
) to your GitLab project repo. The report, including the
specifications, should be written in LaTeX. This step should be completed by
the deadline for Part 1 of the assignment.
...
...
@@ -102,13 +105,18 @@ the deadline for Part 1 of the assignment.
After the report has been submitted, you will be provided with a complete
specification for all of the modules. Implement the modules in C++. The names
of the modules that need to be implemented are as follows:
{
\tt
a
}
. You will be
provided with a correct version of the Exceptions in the file
\texttt
{
Exceptions.h
}
.
of the header files (in the
\texttt
{
include
}
folder) are as follows:
\texttt
{
LanduseMap.h
}
,
\texttt
{
LineT.h
}
,
\texttt
{
MapTypes.h
}
,
\texttt
{
PathT.h
}
,
\texttt
{
PointT.h
}
and
\texttt
{
Seq2D.h
}
. You will be provided with a correct
version of the Exceptions header file in
\texttt
{
Exceptions.h
}
. The source
files you should create are as follows:
\texttt
{
LineT.cpp
}
,
\texttt
{
PathT.cpp
}
,
\texttt
{
PointT.cpp
}
and
\texttt
{
Seq2D.cpp
}
.
\section
*
{
Step
\refstepcounter
{
stepnum
}
\thestepnum
}
Experiment with the implementation. Test the supplied
\texttt
{
Makefile
}
rule
for
{
\tt
experiment
}
. Details to be provided.
for
{
\tt
experiment
}
. The purpose of this rule is to provide a means for
``playing'' with the code as you develop it.
\section
*
{
Step
\refstepcounter
{
stepnum
}
\thestepnum
}
...
...
@@ -119,13 +127,14 @@ initial repo. You should not change these files.
\section
*
{
Step
\refstepcounter
{
stepnum
}
\thestepnum
}
Write another module, named
{
\tt
Test?.cpp
}
that tests the implemented routines
of the x module. This module should use
\texttt
{
catch
}
for testing. You can test
other routines as well, but you are only required to test the ? routines. Each
procedure should have at least one test case. For this assignment you are not
required to submit a lab report, but you should still carefully think about your
rationale for test case selection. Please make an effort to test normal cases,
boundary cases, and exception cases.
In the
\texttt
{
test
}
folder you should have a corresponding test file for each
module:
\texttt
{
testLineT.cpp
}
,
\texttt
{
testPathT.cpp
}
,
\texttt
{
testPointT.cpp
}
and
\texttt
{
testDEM.cpp
}
. The testing framework being used is called catch, as
discussed in the tutorials. The header file you need will already be pushed to
your repo. Each procedure should have at least one test case. For this
assignment you are not required to submit a lab report, but you should still
carefully think about your rationale for test case selection. Please make an
effort to test normal cases, boundary cases, and exception cases.
The supplied makefile (named
{
\tt
Makefile
}
) will have a rule named
{
\tt
test
}
. This rule should run all of your test cases.
...
...
@@ -135,8 +144,8 @@ The supplied makefile (named {\tt Makefile}) will have a rule named {\tt
Push all of your code files to your GitLab project repo. This step should be
completed by the deadline for Part 2 of the assignment.
Although not graded, you should tag your final submission of Part 2 of the
assignment with the label
\texttt
{
A3Part2
}
.
%
Although not graded, you should tag your final submission of Part 2 of the
%
assignment with the label \texttt{A3Part2}.
\subsubsection*
{
Notes
}
...
...
@@ -144,8 +153,26 @@ assignment with the label \texttt{A3Part2}.
\item
Please put your name and macid at the top of each of your source
files
\item
Your program must work in the ITB labs on mills when compiled with its
versions of g++, cppunit, LaTeX, doxygen and make.
\item
Standard for exceptions?
versions of g++ (Version 7), LaTeX, doxygen and make.
\item
So that you will have the correct version of g++, please add the
following:
\texttt
{
. /opt/rh/devtoolset-7/enable
}
to the bottom of your
\texttt
{
.bashrc
}
file on mills. (An earlier version of
g++ has to concurrently exist on mills; this allows you to switch to the
version we are using.)
\item
Many choices are available for containers to store your 2D sequence. So
that unit testing will work between submissions, we need to make a standard
decision. Therefore, please use a vector for your C++ implementation for the
constructor for Seq2D:
\begin{lstlisting}
template <class T>
Seq2D<T>::Seq2D(vector<vector<T>> s, double scale)
{
//details
}
\end{lstlisting}
\item
\textbf
{
Your grade will be based to a significant extent on the ability of
your code to compile and its correctness. If your code does not compile,
then your grade will be significantly reduced.
}
...
...
@@ -154,4 +181,14 @@ assignment with the label \texttt{A3Part2}.
monitor all pushes to the course git repo.
}
\end{enumerate}
\newpage
\section
{
Appendix
}
\begin{center}
\includegraphics
[scale=0.7]
{
Examples.jpeg
}
\end{center}
%\caption{Examples for Points, Lines and Paths, flips, rotate and appends} \label{Fig_Examples}
\end
{
document
}
This diff is collapsed.
Click to expand it.
Assignments/A3/Examples.jpeg
0 → 100644
+
0
−
0
View file @
9da9091d
764 KiB
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment