Software Engineering Assignment-
Portfolio 0 - Presentation & upload - the process
P0 is an individual 'presentation' - it is about the development of a learning resource. The topic should be chosen from the list of Unix Basics on the module Learning Room on NOW. There is some advanced topics, but you should only choose one of these if you already have *nix experience; the whole range of grades is available for all the topics, but the Advanced ones are loaded towards content rather than design.
Once signed-off, the development process should be something like
1. Choose topic
2. Read around/research the topic to get a feel for possible content
3. Sketch out (back of envelope! outline only) what you consider the best angle to present the topic & what content you think is appropriate
4. Confirm outline (3) with module leader by email/quick 1:1 (to make sure you are on correct track)
5. Develop and capture a short screen cast for uploading (short - the appropriate size will vary, but 2-3 minutes (max 4) is the ballpark)
6. Upload the presentation to the module Wiki
7. Commit the presentation to your personal submission repository
Portfolio 1 - My First makefile1 Project
P1 is an individual exercise, developing the prime number project. As released, the project uses a makefile to build a debug version of the executable randomPrime; your task is to develop alternative programs with different functionality and to modify the makefile to add new targets for these (debug versions with the exception of release).
Interactive - this target interactively (using std::cin & std::cout) queries the user, who enters a number; the corresponding2 prime number in the sequence is output, on its own, on a new line.
Auto - this target will print the first 50 prime numbers, one per line, on std::cout
howMany - accepts a command line parameter and outputs the number of prime numbers less than this value; if no parameter is given, output just std::endl to std::cout
release - this target will produce a release executable of the randomPrime program, without any debug information; you must decide how to achieve this, which will likely require some changes to the makefile, not just additions.
Portfolio 2 - Parsing NMEA Sentences - phase 1 & phase 2
P2 is an individual exercise, involving the manipulation of text strings; the basis of the problem is to parse log files containing 2 types of NMEA sentences. The files are generated initially by a Sony camera with GPS functionality. Instances of log files can be found on NOW.
The files will contain RMC GGA and GLL sentences - the particular sentence format(s) are not needed until part (c), so the detail is omitted for the moment. All NMEA sentences start with a 'followed by the identifier for the sentence type, ($GRMCL $GPGGA $GPGLL) and a varying number of comma-separated fields The sentences finish with a two character checksum, starting with '*'
In the file p2.cpp, implement the functions p2 declared in p2.h; do not include a main() function in p2.cpp. The latest version of this file includes p2c() & p2d() specifications.
You can include any libraries you need EXCEPT - your functions should not perform any console I/O
There are numerous other sentence formats, which will need decoding in future; try to code with this in mind (avoid 'magic' character positions, prefer to search-expect other fields in your text source, which can then be easily ignored.
This item is worth 15% of the module marks, allocated as follows (/15)
|
p2a
|
p2b
|
p2c
|
p2d
|
Code quality (subjective)
|
/15
|
3
|
3
|
3
|
3
|
3
|
Attachment:- Assignment.zip