SE 2XA3 Software Engineering Practice and Experience: Software

advertisement
SE 2XA3 Software Engineering Practice and
Experience: Software Development Skills
Franya Franek
January 26, 2015
1
What the students should know and be able to do
1. Students should know and understand
(a) the basic ideas of functioning of LINUX operating system
(b) the fundamental LINUX line commands
(c) the make utility and makefiles
(d) the basics of LINUX shells
(e) the basics of BASH shell
(f) the fundamental BASH shell programming
(g) the basic principles of hardware architecture
(h) the basic principles of assembly programming
(i) the basics of NASM
(j) stack, calling conventions, process control in NASM
2. Students should be able to
(a) remotely connect to LINUX server
(b) transfer files between local and remote machines
(c) manipulate and manage LINUX files and directories
(d) design, create, and execute makefiles
(e) design, create, and execute simple BASH scripts
(f) design, create, link, and execute simple to intermediate NASM programs in labs
setting
(g) design, create, link, and execute a substantial intermediate NASM program as a
final project
1
2
Mapping to Attributes with their Indicators
A01 Knowledge
Competence in Specialized Engineering Knowledge.
1a–1j, 2a-2g
A03 Investigation
Ability to decompose and organize a problem into manageable subprob- 1f, 1h, 1j, 2d–2g
lems.
Assess the accuracy and precision of results and recognize limitations 1f, 1h, 1j, 2d–2g
of the approach
A04 Design
Recognizes and follows engineering design principles
Properly documents and communicates processes and outcomes
2
2d–2g
2d–2g
Measurements:
Basics of remote access
Lab projects 1-4
Basic LINUX commands
Lab projects 1-4
Make utility and its use, makefiles
Lab projects 2, 3
BASH scripting
Lab projects 1-3
Simple NASM programming
Lab projects 3, 4
Intermediate NASM programming
Lab projects 4, final project
3
4
does not understand
file system and command line approach
cannot design or create appropriate simple makefile
Make utility and
its use, makefiles
1c,2d
Below
cannot connect to remote host, cannot
transfer files
Basic LINUX commands
1b,2c
Basics of remote
access
2a,2b
Topic
can create and use
appropriate
simple
makefile, but not
design it
some basic understanding of file system
and command line
approach
Marginal
can connect, cannot
transfer file
shows full understanding
of
file
system and command
line approach, can
manage files and
directories
shows full understanding
design,
creation, and use of
simple makefiles
Meets
can connect,
can
transfer file as is
Table 1: Rubric: (4) Competence in Specialized Engineering Knowledge
Student work used: 3 Lab projects, final project.
shows full understanding
design,
creation, and use of
makefiles with macros
Exceeds
can connect,
can
transfer files in all
directions preserving
or changing names
and formats
can fully manage
files and directories
via command line
approach
5
Below
cannot design or create a simple BASH
script
does not understand
simple NASM program
does not understand
intermediate NASM
program
Topic
BASH scripting
1e,1f,2e
Simple NASM programming
1i,2f
Intermediate
NASM programming
1j,2f,2g
understands
intermediate
NASM
programs, can fix
simple errors
understands simple
NASM programs, can
fix simple errors
Marginal
can design, create,
and execute a simple
BASH script
can design, create, assemble, and execute
simple NASM programs
can design, create, assemble, and execute
intermediate NASM
programs
Meets
can design, create,
and execute an intermediate BASH script
Table 2: Previous table continued
Exceeds
can design, create,
and execute an intermediate NASH script
with full file, directory control, including error processing
can design, create, assemble, and execute
simple NASM programs with I/O
can design, create,
assemble, and execute
intermediate NASM
programs with I/O
and
simple
data
structures
6
Below
cannot connect
cannot reliably transfer files in both directions
cannot
rename,
delete, or move files
or directories
Topic
Remotely connect
to LINUX server
2a
Transfer files between local and remote machines
2b
Manipulate
and
manage
LINUX
files and directories
2c
can rename, delete, or
move files and directories
can reliably transfer
file to remote machine
Marginal
can connect, but cannot log on
can rename, delete, or
move files and directories, can check or
change format
can reliably transfer
files in both directions
Meets
can connect, can log
on
Table 3: Rubric: What students should be able to do
Student work used: 3 Lab projects, final project.
can fully manage
LINUX file system
Exceeds
can connect, can log
on, can perform basic
operations in the account
can reliably transfer
files in both directions
depending on their
format
7
does not understand
how simple NASM
program works
does not understand
how BASH script
works
Design,
create,
and execute simple
BASH scripts
2e
Design,
create,
link, and execute
simple to intermediate
NASM
programs in labs
setting
2f
Below
does not understand
how make works
Topic
Design, create, and
execute makefiles
2d
understand how simple NASM program
works
understand
how
BASH script works
Marginal
understand how make
works
can design, create, assemble, and execute
simple NASM programs
can design, create,
and execute simple
BASH scripts
Meets
can design, create,
and execute appropriate makefiles
Table 4: Previous table continued
can design, create, assemble, and execute
intermediate NASM
programs
can design, create,
and execute intermediate BASH scripts
Exceeds
can design, create,
and execute makefiles
with macros
8
l
Topic
Design,
create,
link, and execute
a substantial intermediate NASM
program as a final
project
2g
Below
did not submit a
project that could be
assembled and executed
Marginal
submitted a project
that could be assembled but not properly
executed
Meets
submitted a project
that could be assembled and executed
with small errors
Table 5: Previous table continued
Exceeds
submitted a project
that could be assembled and executed
without errors
Download