乐趣区

关于后端:FIT9136-目标求解

© 2021, Monash University
FIT9136 Assignment 1
Semester 1 2021
Teaching Associate, Faculty of IT
© 2021, Monash University
© 2021, Monash University
Table of Contents

  1. Key Information 3
    1.1. Learning outcomes 3
    1.2. Do and Do NOT 3
    1.3. Marking Criteria 3
    1.4. Submission details 4
  2. Getting help 5
    2.1. English language skills 5
    2.2. Study skills 5
    2.3. Things are tough right now 5
    2.4. Things in the unit don’t make sense 5
    2.5. I don’t know what I need 5
  3. Key tasks (100 marks) 6
    3.1. Password Generator (10 marks) 6
    3.2. Uncommon Statistics (22 marks) 6
    3.3. Batch Statistics (30 Marks) 7
    3.4. Returning Home (38 marks) 7

    © 2021, Monash University

  4. Key Information
    Format: Individual
    Due date: 5pm 12th April
    2021
    Weight: 5% of unit mark
    1.1. Learning outcomes
  5. design, construct, test and document Python programs;
  6. demonstrate how basic data types/structures function;
  7. evaluate different algorithms and analyse their complexity;
  8. translate problems into algorithms with appropriate implementations by investigating
    different strategies for the algorithm development
    1.2. Do and Do NOT
    Do Do NOT
    ● Maintain academic integrity1
    ● Get support early from this unit and
    other services in the university
    (please check Section 2)
    ● Apply for special consideration for
    extensions2
    ● Leave your assignment in draft mode
    ● Submit late (10% daily penalty
    applies)3
    ● Submission is not accepted after 7
    days of the due date, unless you have
    special consideration.
    ● Import any libraries
    1.3. Marking Criteria
    Your work will be marked on
    Functionality Correctly working program 60%
    Code
    Architecture
    Algorithms, data types, control structures and use
    of libraries
    10%
    Code Style Variable names, readability, clear logic 10%
    Documentation Program comments, clarity and connection to
    code
    20%
  9. https://www.monash.edu/rlo/re…
  10. https://www.monash.edu/exams/…
  11. eg: original mark was 70/100, submitting 2 days late results in 50/100 (20 marks off). This
    includes weekends
    © 2021, Monash University
    1.4. Submission details
    Submit to“Assignment 1 Submission”on moodle:
    ● A1_studentID.zip4
    ● Make a different .py file for each question and name it as question_name.py.5
    Containing each of the four (4) tasks covered in Section 3. Key tasks (100 marks)

4 studentID is your student ID. E.g. if your Id was 12345678, you would submit
“A1_12345678.zip”5 Question_name is a question name of the task. E,g, for the first question“Password”, you
would name it as“password.py”.
© 2021, Monash University

  1. Getting help
    2.1. English language skills
    if you don’t feel confident with your English.
    ● Talk to English Connect: https://www.monash.edu/englis…
    2.2. Study skills
    If you feel like you just don’t have enough time to do everything you need to, maybe you just
    need a new approach
    ● Talk to a learning skills advisor: https://www.monash.edu/librar…
    2.3. Things are tough right now
    Everyone needs to talk to someone at some point in their life, no judgement here.
    ● Talk to a counsellor: https://www.monash.edu/health…
    (friendly, approachable, confidential, free)
    2.4. Things in the unit don’t make sense
    Even if you’re not quite sure what to ask about, if you’re not sure you won’t be alone, it’s
    always better to ask.
    ● Ask in Ed: https://lms.monash.edu/course…
    ● Attend a consultation:
    https://lms.monash.edu/course…
    2.5. I don’t know what I need
    Everyone at Monash University is here to help you. If things are tough now they won’t
    magically get better by themselves. Even if you don’t exactly know, come and talk with us
    and we’ll figure it out. We can either help you ourselves or at least point you in the right
    direction.

    © 2021, Monash University

  2. Key tasks (100 marks)
    This assignment is broken into four parts. Each part is attempting to assess a particular
    aspect of programming. Read each section carefully and attempt to solve them using the
    techniques we have explored during the unit (Week 1 – 5). You cannot use any external
    libraries to answer any part of this assignment.
    3.1. Password Generator (10 marks)
    Write a function with the signature password(). This function asks the user to input their
    name, their Date of Birth (formatted as DD/MM/YYYY), and their country of origin. The
    function will then generate a password and print it to the screen.
    The password generated will be made in the following manner:
    {LastYear}{FirstThreeLettersofName}{Day}{LastTwoLetterofCountry}{Month}
    The last two letter of the country needs to be in upper case, and the first three letters must
    be lower case.
    If the inputs would be Gavin Kroeger, 17/06/1991, Australia. The output password would be
    91gav17IA06
    Your function shouldn’t accept any arguments, it should ask for input during its execution.
    You need to include at least 2 validations for this program.
    3.2. Uncommon Statistics (22 marks)
    Write a function with the signature uncommon(numbers) where the numbers is a list of
    numbers (e.g. [2,1,4,0,3]). Each number will only be an integer between -1 and 11 (not
    inclusive). Please calculate the following.
    ● Total: The sum of all the items in the list. (Hint: You cannot use sum() to answer this
    question)
    ● Integer Count: A count of each of the numbers in the list. This should be in the form
    of a list that has the counts for each number between -1 and 11. Each index should
    represent a number. (use the range of numbers between -1 and 11 as the base to
    count the frequency of the numbers in the numbers list. Hint: You cannot use count()
    to answer this question)
    ● Largest Item: The element that is the largest in the list. (Hint: You cannot use max()
    to answer this question)
    ● Range: The difference between the smallest element and the largest element.
    For example, if numbers were [1,1,1,2,3,2,1,4,5,6] its statistics would be:
    ● Total: 26
    ● Integer Count: [0,4,2,1,1,1,1,0,0,0,0]
    ● Largest Item: 6
    ● Range: 5
    © 2021, Monash University
    The function will return the above statistics as a list in the order of [total, integer count,
    largest item, range]. Using our example, the function would be called as
    uncommon([1,1,1,2,3,2,1,4,5,6]) and would return [26,[0,4,2,1,1,1,1,0,0,0,0],6,5]
    You need to include at least 1 validation for this program.
    3.3. Batch Statistics (30 Marks)
    Write a function called batch_statistics(filename) where filename is the name of a file in the
    directory of your Python script. Each line in the file is a set of numbers that you must pass
    to the function written in section 3.2. The output of running uncommon(numbers) should be
    written to a file called “filename-output.txt” where filename is the input to this function.
    Examples of input and output can be found on Moodle.
    If you are unable to finish section 3.2, you can attempt to finish this question as though your
    attempt at 3.2 works as intended.
    3.4. Returning Home (38 marks)
    Write a function called home(path) where path is a string that contains directions to move.
    The function validates that a given path returns the traveller to where they started, i.e. home.
    It should return True if the path is a valid journey, and False if it is not. Your input path will
    use‘N’for North,‘S’for South,‘E’for East, and‘W’for West. Each movement will be space
    separated. E.g. if your path is to go North, then go East, the path would be“N E”.
    Note: the empty path of“”is an invalid path. Technically, you do end your journey where you
    started, but because you don’t go anywhere, it isn’t really a journey.
    Please use the examples below to test your program.
    ●“E W”True
    ●“E S”False
    ●“N E S W”True
    ●“N N N E S S S”False
    You need to include at least 1 validation.
退出移动版