6.0 Screenshots
4 – 5
7 – 10
FHCT1022 Programming Concepts Assignment Guidelines
UNIVERSITI TUNKU ABDUL RAHMAN FHCT1022 PROGRAMMING CONCEPTS FOUNDATION IN SCIENCE (202105)
GROUP ASSIGNMENT GUIDELINES ASSESSMENT: The assignment constitutes 30% of the final grade
ASSIGNMENT THEME:
“Cumulative Grade Point Average (CGPA) Calculator (for UTAR Foundation Students)”
Title Page
1.0 Objectives 2 2.0 Assignment Rules 2 3.0 Requirements / Output 3
4.0 Problem / Question
5.0 Grading 6
Page 1
FHCT1022 Programming Concepts Assignment Guidelines
1.0 Objectives
This assignment is designed to enable you to put into practice the knowledge and concepts you have acquired over the trimester on problem solving and Python Program development to solve a computing problem effectively.
A problem will be provided to you where you will need to employ the program development processes (Six (6) Steps of Program Development) to assist you to build a viable system. These six (6) steps include defining the problem, developing an algorithm, testing the algorithm, coding the algorithm, running the program, and documenting & maintaining the program. [For more details, refer to Lecture Topic 1.]
You are expected to fully cooperate with your team members to take a detailed study of the problem (domain knowledge), decompose a complex problem into smaller, manageable parts so that the entire team can work hand in hand to build efficient and effective modules and functions that can be integrated easily to form an integral solution.
You are expected to inculcate the needed level of problem-solving, coding skills as well as to acquire all related soft skills needed in solving a computing problem in a team at the end of this assignment.
2.0 Assignment Rules
1. Submission Date: Friday, 27th August 2021 before 12.00pm
2. Group size: 4 – 5 persons in a group (from the same practical group only).
3. Submission: a zipped folder that is submitted to WBLE. It must consist of: – ONE (1) report (.docx), and
– ONE (1) or more source code (.py)
4. Penalty: No marks (0%) will be awarded to everyone in the group if plagiarism is found, and 10% of the entire assignment marks will be deducted each day for late submission.
5. Important Notes to Every Team Member:
▪ Each of you MUST contribute to the completion of the assignment.
▪ You are responsible for forming your own assignment group and choosing
your own group leader.
▪ You can create a group on MS Teams to discuss or do your assignment. Be
responsive to other group members.
▪ Exchange contact details (emails and phone numbers) and stay contactable.
▪ Your lecturer has the right to deduct your assignment marks if you are found to
be not playing an active role in completing the assignment.
Page 2
FHCT1022 Programming Concepts Assignment Guidelines
3.0 Requirements / Output
1.0 Requirements for report:
▪ You are expected to prepare a NEAT and LEGIBLE report.
▪ You do not have to think of what you need to include in your report because you
will be able to download the report template from WBLE.
▪ You do not have to do extra. Just follow what is required in the report template.
2.0 Requirements for algorithm:
▪ You can use any flowchart-drawing applications to draw your flowcharts.
▪ You are advised to construct well-documented algorithm(s) (flowcharts) showing
all the detailed steps, in a correct manner, on how the entire system works.
3.0 Requirements for Python Program:
▪ You may opt to enhance the system to include special features and functions that
can simulate actual operations of such system.
▪ Your program must be error-free and can produce the right output.
▪ Your program must be well-thought-out, with the use of the right combination of
control structures and subprograms (self-defined functions).
▪ Your program must have well-presented screen interfaces with the ease to
navigate from one screen to another.
▪ Your program must include data validation, along with, meaningful error
messages to alert the user when he or she keys in invalid data.
▪ Your program code must be tidy and readable.
▪ You are advised to adhere to a good coding standard and style.
Page 3
FHCT1022 Programming Concepts Assignment Guidelines
4.0 Problem / Question
You are required to develop a Python Program that simulates a Cumulative Grade Point Average (CGPA) calculator with the following features that can be used by UTAR foundation students (refer to Section 6.0 Screenshots):
▪ A student can view his or her course list based on his or her stream.
▪ A student can key in or update grades based on their course list of his or her stream only.
▪ A student can calculate CGPA, view results and print result slips.
▪ The program should keep the course lists for at least THREE (3) streams out of
SEVEN (7) streams listed below.
▪ The program repeats until the user chooses to quit the program.
▪ You are encouraged to apply Python Lists in your program.
To bring your experience in system development to the next level, you may explore some of the following features that can be used by staff members:
▪ A staff member can maintain the course by updating course names and credit hours
of the courses.
▪ A staff member can key in and keep student details, and update results of students.
You are also reminded to conduct your own research to gain additional knowledge on the ways to enhance the system, build a system that is not only workable, but also contains features and functions that closely resembles real-life system functions.
List of UTAR Foundation Courses
Note: The last digit of the course code indicates the credit hour assigned to it.
E.g. The last digit of FHMM1022 is 2. Therefore, FHMM1022 is a 2-credit-hour course.
Science Stream
Stream 1
Stream 2
Stream 3
Biological Science
Physical Science (Engineering Science)
Physical Science (Technological Science)
Core Courses
▪ FHHM1022 Effective Communication Skills ▪ FHEL1012 English for Academic Study
▪ FHMM1014 Mathematics I
▪ FHMM1024 Mathematics II
▪ FHMM1034 Mathematics III
▪ FHSC1124 Organic Chemistry ▪ FHSC1114 Physical Chemistry
Elective Courses
▪ FHSC1214 Fundamentals of Cell Biology
▪ FHSC1134 Inorganic Chemistry
▪ FHSC1224 Introduction to Physiological Systems
▪ FHSC1234 Modern Biology
▪ FHSP1014 Physics I
▪ FHSP1024 Physics II
▪ FHSC1014 Mechanics
▪ FHSC1024 Thermodynamics
and Electromagnetism
▪ FHSC1034 Waves and
Modern Physics
▪ FHSC1134 Inorganic
Chemistry
▪ FHCT1022 Programming
Concepts
▪ FHCT1012 Computing Technology
▪ FHCT1014 Introduction to Data Analytics
▪ FHCT1024 Programming Concepts and Design
▪ FHBM1114 Management
▪ FHSC1014 Mechanics
▪ FHSC1024 Thermodynamics
Page 4
FHCT1022 Programming Concepts Assignment Guidelines
▪ FHCT1022 Programming ▪ FHSB1214 Biology I and Electromagnetism Concepts ▪ FHSB1224 Biology II ▪ FHSB1214 Biology I
Arts Stream
Stream 4
Stream 5
Stream 6
Stream 7
Accountancy and Management
Arts and Social Science (Chinese Studies)
Arts and Social Science (Social Science)
Arts and Social Science (Graphic Design and Multimedia, Game Design and Architecture)
Core Courses
▪ FHEL1024 Academic English
▪ FHCT1012 Computing Technology
▪ FHHM1012 Critical Thinking
▪ FHHM1022 Effective Communication Skills
▪ FHEL1134 English for Business Communication ▪ FHEL1114 English Language Proficiency
▪ FHBM1114 Management
▪ FHBM1124 Marketing
Elective Courses
▪ FHBM1214 Financial
Accounting
▪ FHBM1224
Financial
Management
▪ FHMM1314
Mathematics for
Business I
▪ FHMM1324
Mathematics for
Business II
▪ FHBM1024
Microeconomics and Macroeconomics
▪ FHBM1014 Principles of
Economics
▪ FHHM1134 Introduction to
Social Psychology
▪ FHHM1114
Introduction to
Sociology
▪ FHMM1214
Mathematics for
Social Science
▪ XXXXXXXX
Introduction to
Chinese Literature
▪ XXXXXXXX
Introduction to
Chinese Writing
▪ XXXXXXXX
Selected Texts of Modern Chinese Literature
▪ FHHM1134 Introduction to
Social Psychology
▪ FHHM1114
Introduction to
Sociology
▪ FHMM1214
Mathematics for
Social Science ▪ FHBM1024
Microeconomics and Macroeconomics
▪ FHBM1014 Principles of
Economics
▪ FHHM1124
Socialization as a Process
▪ FHAD1024 Analytical
Drawing
▪ FHAD1014 Design
Fundamentals
▪ FHAD1034 Figure
Drawing
▪ FHHM1134
Introduction to
Social Psychology
▪ FHHM1114
Introduction to
Sociology
▪ FHMM1214
Mathematics for Social Science
.
Grades and Points
A+ 4.00 A 4.00 A- 3.67 B+ 3.33 B 3.00 B- 2.67 C+ 2.33 C 2.00 F 0.00
Grade
Point
Page 5
FHCT1022 Programming Concepts Assignment Guidelines
5.0 Grading (100%)
1. Algorithm (Flowcharts) (20%)
Flowcharts show each step of the solutions in a detailed, clear, and precise manner. Flowcharts are drawn using the correct symbols, line arrows and labels.
2. Program Specifications / Correctness (30%)
All parts of the program work correctly without errors. All basic specifications are met. Your program must produce all expected output accurately. Your program is written according to the steps depicted / represented in the flowcharts.
3. Program Control and Subprogram Structures (Code Efficiency) (10%)
The order in which program instructions are performed should be carefully controlled, and programming problems are reduced to combinations of controlled sequences, selections, and repetitions (loop) in the most efficient manner. You MUST NOT to use a recursive function call in your program.
Programs are organised into subprograms / self-defined functions and are self- contained (independent of other parts of the program) with well-defined data (locally declared variables) and operations.
4. Interface Design and Flexibility in Navigating between & within Functions and Error Rectification (10%)
Clear instructions are provided on the screen for users to navigate through the functions / subprograms / menus / submenus of the system efficiently. Users are also guided with the understanding of what data and data structures to be entered to allow the system to process it into the expected output.
5. Validation and Error Messages (10%)
Proper validation and control are placed to check for correct data type, data range, data length / size, and completeness depending on the use of data structures in the system. Error messages on what goes wrong must be clearly displayed to alert users. Users must be directed clearly on how to go about rectifying the problem.
6. Documentation and Coding Style (Code Appearance) (10%)
Your Python Program is documented in a neat and tidy fashion. Proper header and meaningful comments (internal documentation) are provided accordingly in the program. Line spacing and spaces used in the statements are standardised to allow readability.
7. Enhancement of System (10%)
Your program is enhanced to cater for features and functions that resemble those of a live (actual working) environment. It is also structured in such a way that it is configurable or adaptable to changes in requirements (minimum changes are required to be made to the program and structure when there is a requirement change) – having little “hardcoding” of any sort.
Page 6
FHCT1022 Programming Concepts Assignment Guidelines
6.0 Screenshots
Note:
▪ The following screen shots show some sample interfaces of different functions or modules.
▪ It is not compulsory to follow the design of the following interfaces. You are encouraged to
design your own interfaces.
6.1 Sample Student Log-In Interface
Page 7
6.2 Sample Main Menu Interface
6.3 Sample View Course List Interface
FHCT1022 Programming Concepts Assignment Guidelines
Page 8
FHCT1022 Programming Concepts Assignment Guidelines 6.4 Sample Enter or Upgrade Grade Interface
6.5 Sample View Results Interface
Page 9
6.6 Sample Data Validation Interface
FHCT1022 Programming Concepts Assignment Guidelines
~ END OF GUIDELINES ~
Page 10