Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Fundamentals of Software Development – Coursework 1 Semester 1, 2023/24

1. Introduction:
This section is written after you are done solving the problems. It should highlight your
previous programming knowledge prior to the module and the skills you have gained from
attempting the introduced concepts and how they help thinking differently about software
programming. Finally, list the problems you have solved and problems you have not solved
using algorithmic thinking and programming.

2. Programming Problems:
This section should describe thoroughly how you solved each given problem. Evidence of
this must include but should not limited to the following:
• Diagrams and pseudocode
• Code snippets from the implementation and line-by-line description
• Screenshots of the results obtained.

Each piece of evidence must be accompanied by the corresponding narratives.

READ BEFORE YOU SOLVE ANY PROBLEM!!!!!!!


You ONLY need to solve the tasks related to your student ID. DO NOT try to
solve both odd and even questions. If your student ID ends with an odd
number (1, 3, 5, 7, 9), then solve the odd task. If your student ID ends with an
even number (2, 4, 6, 8), then solve the even tasks.
3.1 Problem 1: Password Compliance:
Using pseudocode, flowchart and C programming, write a program to check for
password compliance. Your program should receive a password as an input and it
should output whether it complies with the specified rules or not.

• If the last digit of your student id is odd (.i.e it ends with 1, 3, 5, 7 or 9), the
password check should follow this format: L$$555ee
• If the last digit of your student id is even (.i.e it ends with 0, 2, 4, 6 or 8), the
password check should follow this format: L5e$e55e

3.2 Problem 2: Word length and vowels counter:


Using pseudocode, flowchart and C programming, write a program that gets a list of
words from the user as input and outputs the largest and the smallest word provided.
Your solution also must output the number of vowels in both words.

• If the last digit of your student is odd, type 10 countries from the list below
as input: [Argentina, Australia, Brazil, Canada, China, France, Germany, India,
Indonesia, Italy, Japan, Republic of Korea, Mexico, Russia, Saudi Arabia, South
Africa, Turkey, UK, USA, UK]
• If the last digit of your student is even, type 10 sports from the list below as
input: [Basketball, Volleyball, Gymnastics, Swimming, Badminton, Archery,
Beach volleyball, Boxing, Cycling, Diving, Equestrian, Fencing, Football, Golf,
Handball, Hockey, Golf, Hockey, Bowling, Judo, Karate, Tennis, Weightlifting]
Fundamentals of Software Development – Coursework 1 Semester 1, 2023/24
3.3 Problem 3: Statistics Library:
Using pseudocode, flowchart and C programming, construct statistics library as a
header file called stats.h. Functions to include are:

- Mean
- Median
- Kurtosis
- Standard deviation

- If your number is odd, check your library in a c program using the following data:
Customer basket -> [22.3, 10.5, 60.5, 20.5, 22.5]
- If your number is even, check your library in a c program using the following data:
British Coins -> [1, 2, 5, 10, 20, 50]

3. Mixed Learning programming (Week 1- Week 5):

3.4 Online e-Portfolio:


Complete the required tasks of mixed learning from week 1 up to week 5 and upload
them to your e-portfolio. All tasks must be documented and described. Each completed
week is worth 1 mark. The content you upload to your e-Portfolio must be accessible to
your tutor.

3.5 Reflection:
Write a 500 words reflection to critically evaluate the mixed learning activity you have
completed from week 1 to week 5. This essay should cover your perception and rationale
about the following four points:

o The differences between the compiled and interpreted languages (Python vs C)


o Which language provides the most abstractions to make it easier to learn.
o Using examples, illustrate which language provides the richest syntax,
vocabulary, and subroutines etc.
o Reflect on your learning experience in both python and C and draw a conclusion.
4. Conclusion:

Summarize the tasks achieved, the difficulty found and any future implementation of the
gained programming skills.
Fundamentals of Software Development – Coursework 1 Semester 1, 2023/24

5. Marking Scheme:

Component Max. mark

Introduction 5

Problem 1: Password Compliance 10

- Algorithmic Thinking (5 marks)


- Implementation (5 marks)
Problem 2: Word length and vowels counter 10

- Algorithmic Thinking (5 marks)


- Implementation (5 marks)
Problem 3: Statistics Library 10

- Algorithmic Thinking (5 marks) (only kurtosis and Standard Deviation)


- Implementation (5 marks)
Mixed Learning Programming 10

- Online E-portfolio (5 marks)


- Reflection (5 marks)
Conclusion 5

Total: 50

Submission deadline:

Friday 15th December 2023, 5 pm

Electronic submission to Moodle only!

1 I recommend you use Verdana size 10. Select all the code and set that font, then expand
the paragraph tools on the ribbon and set both before and after spacing
Fundamentals of Software Development – Coursework 1 Semester 1, 2023/24

8-10 6-7 4-5 0-3


Introduction The introduction is very well written and The introduction is reasonably The introduction is limited. There Introduction is poorly written with lack of
10% covers the required points. The problems written with most of the required seems to be little or no effort to address consistency and is generally poorly
solved were listed and prior knowledge is aspects covered. The problems the problem solved and indicate the documented.
very well described. solved somehow indicated and the prior knowledge
prior knowledge is described
Problem 1: The flowchart and pseudocode were well The algorithmic thinking solution is The flowchart and the pseudocode The flowchart and the pseudocode are either
Algorithmic designed and described. All aspects of reasonably designed, good criteria design are very limited. There seems poorly designed or missing from the report
Thinking the assessment considered with and appropriate method chosen. to be lack of understanding and use of with lack of consistency and poor
10% documentation and screenshots. Some aspects of the design the notations and the symbols. documentation.
considered with good documentation
Problem 1: The password compliance application is The password compliance program The password compliance program is The program is poorly implemented. Most of
Implementation fully implemented with good is reasonably implemented. Most of partly implemented. Some of the the coding process is not covered. The
10% documentation and screenshots of the the coding process was covered and coding steps were covered and outcome results are not included and there is
outcome for each step of the coding. A documented. Some aspects of the documented. A small aspect of the a lack of consistency and poor documentation
thoughtful and in-depth analysis of the assessment considered with good assessment considered with some and narratives.
implementation process. documentation and narratives. evidence of documentation and
narratives.
Problem 2: The flowchart and pseudocode were well The solution is reasonably designed, The solution design is very limited. The flowchart and the pseudocode are either
Algorithmic designed and described. All aspects of the good criteria and appropriate method There seems to be lack of poorly designed or missing from the report
Thinking assessment considered with chosen. Some aspects of the design understanding and use of the notations with lack of consistency and poor
10% documentation and screenshots. considered with good documentation and the symbols. documentation.
Problem 2: Both the word length and the vowel Both the word length and the vowel Both the word length and the vowel Poor implementation and most of the coding
Implementation counter are fully implemented with good counter are reasonably implemented. counter are partly implemented. Some process is not covered. The outcome results
10% documentation and screenshots of the Most of the coding process was of the coding steps were covered and are not included and there is a lack of
outcome for each step of the coding. A covered and documented. Some documented. A small aspect of the consistency and poor documentation and
thoughtful and in-depth analysis of the aspects of the assessment considered assessment considered with some narratives.
implementation process. with good documentation and evidence of documentation and
narratives. narratives.
Problem 3: Both the flowchart and pseudocode were The flowchart and pseudocode were Both the flowchart and the pseudocode The flowchart and the pseudocode are either
Algorithmic well designed and described. All aspects of reasonably designed, good criteria design are very limited. There seems to poorly designed or missing from the report
Thinking the assessment considered with and appropriate method chosen. be lack of understanding and use of the with lack of consistency and poor
10% documentation and screenshots. Some aspects of the design notations and the symbols. documentation.
considered with good documentation
Problem 3: The statistics library application is very The statistics library is reasonably The statistics library is partly The statistics library is poorly implemented.
Implementation well implemented with good implemented. Most of the coding implemented. Some of the coding steps Most of the coding process is not covered.
10% documentation and screenshots of the process was covered and were covered and documented. A small The outcome results are not included and
outcome for each step of the coding. A documented. Some aspects of the aspect of the assessment considered there is a lack of consistency and poor
thoughtful and in-depth analysis of the assessment considered with good with some evidence of documentation documentation and narratives.
Fundamentals of Software Development – Coursework 1 Semester 1, 2023/24

implementation process. documentation and narratives. and narratives.

Mixed Learning The weekly activities are very well solved The weekly activities are reasonably The weekly activities are partly solved The weekly activities are poorly solved.
20% and described. The reflection is very well solved and described. The reflection and described. There is some evidence Missing reflections or poorly written.
written and there is an in-depth analysis of is written with a good degree of of analysis in the reflection.
the learning process. analysis.
Conclusion The Conclusion is very well written and The conclusion is reasonably written The conclusion is very limited and The conclusion is either missing or poorly
10% highlights the tasks achieved. The highlights the tasks achieved, and the does not cover all the requirements. written with lack of consistency.
difficulty found and any future difficulty found.
implementation
Fundamentals of Software Development – Coursework 1
Semester 1, 2022/23

You might also like