Multi-threaded hash tree Assignment

Multi-threaded hash tree Assignment

In this project, you will write a multi-threaded program to compute a hash value of a given file. The size of the file can be very large. So, there is a need for the program to be multi-threaded to achieve speedup. While one thread reads a part (block) of the file, other threads can compute hash values of already read blocks.

Binary tree threads

Create a binary tree of threads where each thread will compute the hash value

Hash value

The hash value of a string (very long) is a fixed length numeric value. Hash values are typically expressed in hex digits and can be long. In this project we will restrict the hash value type to a 32-bit unsigned integer. A hashing algorithm will read the input string (file) and produce a hash value. There are many hashing algorithms in the literature. For this project we will use Jenkins one_at_a_time hash described in

One of the uses of hash value is to check the integrity of the data (file, database, etc.). One can think of a hash value of a file as a fingerprint of the file. If the file is modified, then the hash value also changes. By comparing the new and old hash values one can easily detect that the file was modified.

Computation of a hash value of a large file (several giga bytes in size) may take a while. Hence a need for a multi-threaded program.

Part 1: Multi-threaded hashing

A file can be divided into multiple blocks. The basic unit of accessing a file on a i/o device is a block. Assume there are n blocks, m threads, and n is divisible by m. Each thread can compute the hash value of n/m consecutive blocks. Several of these hash values are then combined to form a string whose hash value can be computed as before. These steps can be repeated till one final hash value remain.

A complete binary tree of threads should be created. Each leaf thread will compute the hash value of n/m consecutive blocks assigned to it and return the hash value to its parent thread (through pthread_exit() call). An interior thread will compute the hash value of the blocks assigned to it, and then wait for its children to return hash values. These hash values should be combined to form a string: <computed hash value + hash value from left child + hash value from right child>. (Note that the + sign here means concatenation and not addition. Also, if the interior thread has no right child, only the hash value of the interior thread and the hash value from the left child are combined.) The interior thread then computes hash value of the concatenated string as before and returns the value to its parent, The value returned by the root thread is the hash value of the file.

How to assign blocks to threads?

Each thread is assigned a number when it is created. The number of root thread is 0. For a thread with number i, the number of its left child is 2 * i + 1, and the number of its right child is 2 * i +

2. For a thread with number i, n/m consecutive blocks starting from block number i * n/m are assigned. For example, let n = 100 and m = 4. Then thread 0 will be assigned blocks 0 through 24, thread 1 will be assigned blocks 25 through 49, thread 2 will be assigned blocks 50 through 74, and thread 3 will be assigned blocks 75 through 99.

Usage and hints

Name your program htree.c. The usage is:

htree filename num_threads

‘filename’ is the name of the input file whose hash value needs to be computed. ‘num_threads’ is

the number of threads to be created.

Assume the block size to be 4096 bytes. Number of blocks can be found from the file size in bytes. Check fstat() to find the file size.

You can read any block from the input file using lseek(0 and read(). But there is an easier way to read blocks from a file using mmap(). Check the man page for mmap().

You can use sprintf() to convert an uint to string.

Part 2: Experimental study

The main goal of this study is to find speedup achieved when the number of threads is increased for various input files. For each input file, find the time taken to compute the hash value for 1, 4, 16, 32, 64, 128, and 256 threads. To run 256 threads, increase ulimit -u to 256.

Plot a graph with time on y-axis, and #threads on x-axis for each input file. Plot another graph with speedup on y-axis and #threads on x-axis for each input file.

speedup = (time taken for single thread)/(time taken for n threads)

Write a short report on what you observe. It is expected that the time taken to compute hash value decrease when the number of threads increase. Does it always happen? What is the speed-up achieved when the number of threads increased? Is the speedup proportional to the number of threads increased? Also, briefly describe the experimental set-up at the beginning of your report. (Command ‘lscpu’ provides relevant information for this)

Write a high-quality report. You should showcase the report in your job interview.

Other Requirements

Error handling is an important concept in system programming. In general, there should be no circumstances in which your C program will core dump, hang indefinitely, or prematurely terminate. Therefore, your program must respond to all input in a reasonable manner; by “reasonable”, we mean print an understandable error message and either continue processing or exit, depending upon the situation.

So, check the input for errors. Check the return values of function calls. Display appropriate error messages.

CODE THAT I HAVE SO FAR

Issues: Does not run for files over 2GB runs into segmenation fault

The multi-threading is not working as expected – each thread should calculate the hash and return the hash value to the parent to further combine the hash

As the threads are increased the time elapsed is increasing or the same as 1 thread regardless of the file size (1MG, 1GB, 2GB)

#include <stdio.h>

#include <stdlib.h>

#include <stdint.h>

#include <inttypes.h>

#include <errno.h>

#include <fcntl.h>

#include <unistd.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <pthread.h>

#include <string.h>

#include <sys/mman.h>

#define BSIZE 4096

struct node

{

    uint32_t hash;

    int32_t num_blocks;

    int32_t start_block;

    int32_t end_block;

    pthread_t thread_id;

    struct node *left_child;

    struct node *right_child;

};

struct thread_args

{

    struct node *node_ptr;

    int32_t thread_num;

    int32_t num_threads;

    uint8_t *file_ptr;

};

struct stat file_info;

void usage(char *);

uint32_t jenkins_one_at_a_time_hash(const uint8_t *, uint64_t);

void compute_hash(struct node *, uint8_t *);

void *compute_node_hash(void *);

void process_inputs(char *file_name, uint8_t **file_ptr, uint32_t *num_blocks, uint32_t *num_threads, struct stat *file_info);

int main(int argc, char **argv)

{

    // int32_t fd;

    uint32_t num_threads, num_blocks;

    uint8_t *file_ptr;

    // struct stat file_info;

    struct node *root;

    struct timespec start, end;

    double elapsed;

    // input checking

    if (argc != 3)

        usage(argv[0]);

    num_threads = atoi(argv[2]);

    // input checking and file processing

    process_inputs(argv[1], &file_ptr, &num_blocks, &num_threads, &file_info);

    clock_gettime(CLOCK_MONOTONIC, &start);

    // construct hash tree

    root = (struct node *)malloc(sizeof(struct node));

    root->num_blocks = num_blocks;

    root->start_block = 0;

    root->end_block = num_blocks – 1;

    root->left_child = NULL;

    root->right_child = NULL;

    compute_hash(root, file_ptr);

    // create threads and compute hash values

    struct thread_args *args = (struct thread_args *)malloc(num_threads * sizeof(struct thread_args));

    for (uint32_t i = 0; i < num_threads; i++)

    {

        args[i].node_ptr = root;

        args[i].thread_num = i;

        args[i].num_threads = num_threads;

        args[i].file_ptr = file_ptr;

        pthread_create(&args[i].node_ptr->thread_id, NULL, compute_node_hash, (void *)&args[i]);

    }

    // wait for threads to complete

    for (uint32_t i = 0; i < num_threads; i++)

    {

        pthread_join(args[i].node_ptr->thread_id, NULL);

        printf(“tnum %d hash computed %” PRIu32 “\n”, i, args[i].node_ptr->hash);

        printf(“tnum %d hash from left child %” PRIu32 “\n”, i, args[i].node_ptr->left_child->hash);

        printf(“tnum %d hash from right child %” PRIu32 “\n”, i, args[i].node_ptr->right_child->hash);

        printf(“tnum %d hash sent to parent %” PRIu32 “\n”, i, args[i].node_ptr->hash);

    }

    // end_time = clock();

    clock_gettime(CLOCK_MONOTONIC, &end);

    printf(“num_threads = %u\n”, num_threads);

    printf(“Blocks per Thread = %u\n”, num_blocks / num_threads);

    printf(“hash value = %” PRIu32 “\n”, root->hash);

    elapsed = (end.tv_sec – start.tv_sec) + (end.tv_nsec – start.tv_nsec) / 1000000000.0;

    printf(“Time taken: %f seconds\n”, elapsed);

    // clean up

    munmap(file_ptr, file_info.st_size);

    free(root);

    free(args);

    return 0;

}

void compute_hash(struct node *node_ptr, uint8_t *file_ptr)

{

    if (node_ptr->num_blocks == 1)

    {

        node_ptr->hash = jenkins_one_at_a_time_hash(file_ptr + node_ptr->start_block * BSIZE, BSIZE);

        return;

    }

    // divide the node into two halves

    node_ptr->left_child = (struct node *)malloc(sizeof(struct node));

    node_ptr->right_child = (struct node *)malloc(sizeof(struct node));

    node_ptr->left_child->num_blocks = node_ptr->num_blocks / 2;

    node_ptr->left_child->start_block = node_ptr->start_block;

    node_ptr->left_child->end_block = node_ptr->start_block + node_ptr->left_child->num_blocks – 1;

    node_ptr->left_child->left_child = NULL;

    node_ptr->left_child->right_child = NULL;

    node_ptr->right_child->num_blocks = node_ptr->num_blocks – node_ptr->left_child->num_blocks;

    node_ptr->right_child->start_block = node_ptr->left_child->end_block + 1;

    node_ptr->right_child->end_block = node_ptr->end_block;

    node_ptr->right_child->left_child = NULL;

    node_ptr->right_child->right_child = NULL;

    // compute hash values of child nodes

    compute_hash(node_ptr->left_child, file_ptr);

    compute_hash(node_ptr->right_child, file_ptr);

    // combine hash values of child nodes

    node_ptr->hash = node_ptr->left_child->hash + node_ptr->right_child->hash;

}

void *compute_node_hash(void *arg)

{

    struct thread_args *args = (struct thread_args *)arg;

    struct node *node_ptr = args->node_ptr;

    uint8_t *file_ptr = args->file_ptr;

    int32_t thread_num = args->thread_num;

    int32_t num_threads = args->num_threads;

    if (node_ptr->left_child == NULL && node_ptr->right_child == NULL)

    {

        uint32_t block_start = node_ptr->start_block;

        uint32_t block_end = node_ptr->end_block;

        uint32_t block_size = block_end – block_start + 1;

        uint32_t num_blocks_per_thread = node_ptr->num_blocks / num_threads;

        uint32_t thread_block_start = block_start + thread_num * num_blocks_per_thread;

        uint32_t thread_block_end;

        if (thread_num == num_threads – 1)

            thread_block_end = block_end;

        else

            thread_block_end = thread_block_start + num_blocks_per_thread – 1;

        uint32_t thread_block_size = thread_block_end – thread_block_start + 1;

        uint8_t *thread_block_ptr = &file_ptr[thread_block_start * BSIZE];

        node_ptr->hash = jenkins_one_at_a_time_hash(thread_block_ptr, thread_block_size * BSIZE);

    }

    else

    {

        pthread_t left_thread_id, right_thread_id;

        struct thread_args left_args, right_args;

        left_args.node_ptr = node_ptr->left_child;

        right_args.node_ptr = node_ptr->right_child;

        left_args.thread_num = thread_num;

        right_args.thread_num = thread_num;

        left_args.num_threads = num_threads;

        right_args.num_threads = num_threads;

        left_args.file_ptr = file_ptr;

        right_args.file_ptr = file_ptr;

        pthread_create(&left_thread_id, NULL, compute_node_hash, (void *)&left_args);

        pthread_create(&right_thread_id, NULL, compute_node_hash, (void *)&right_args);

        pthread_join(left_thread_id, NULL);

        pthread_join(right_thread_id, NULL);

        node_ptr->hash = node_ptr->left_child->hash + node_ptr->right_child->hash;

    }

    return NULL;

}

uint32_t jenkins_one_at_a_time_hash(const uint8_t *key, uint64_t length)

{

    uint32_t hash, i;

    for (hash = i = 0; i < length; ++i)

    {

        hash += key[i];

        hash += (hash << 10);

        hash ^= (hash >> 6);

    }

    hash += (hash << 3);

    hash ^= (hash >> 11);

    hash += (hash << 15);

    return hash;

}

void usage(char *program_name)

{

    fprintf(stderr, “Usage: %s <input_file> <num_threads>\n”, program_name);

    exit(EXIT_FAILURE);

}

void process_inputs(char *file_name, uint8_t **file_ptr, uint32_t *num_blocks, uint32_t *num_threads, struct stat *file_info_ptr)

{

    int32_t fd;

    struct stat file_info;

    // input checking

    if (*num_threads <= 0)

    {

        fprintf(stderr, “Invalid number of threads.\n”);

        exit(EXIT_FAILURE);

    }

    // open input file

    fd = open(file_name, O_RDWR);

    if (fd == -1)

    {

        perror(“open failed”);

        exit(EXIT_FAILURE);

    }

    // use fstat to get file size and calculate number of blocks

    if (fstat(fd, &file_info) == -1)

    {

        perror(“fstat failed”);

        exit(EXIT_FAILURE);

    }

    *num_blocks = (uint32_t)(file_info.st_size / BSIZE);

    if (file_info.st_size % BSIZE != 0)

        (*num_blocks)++;

    // mmap file into memory

    *file_ptr = (uint8_t *)mmap(NULL, file_info.st_size, PROT_READ, MAP_PRIVATE, fd, 0);

    if (*file_ptr == MAP_FAILED)

    {

        perror(“mmap failed”);

        exit(EXIT_FAILURE);

    }

    close(fd);

    *file_info_ptr = file_info;

}

Order Now

Get expert help for Multi-threaded hash tree Assignment and many more. 24X7 help, plag free solution. Order online now!

Universal Assignment (March 21, 2026) Multi-threaded hash tree Assignment. Retrieved from https://universalassignment.com/multi-threaded-hash-tree-assignment/.
"Multi-threaded hash tree Assignment." Universal Assignment - March 21, 2026, https://universalassignment.com/multi-threaded-hash-tree-assignment/
Universal Assignment April 13, 2023 Multi-threaded hash tree Assignment., viewed March 21, 2026,<https://universalassignment.com/multi-threaded-hash-tree-assignment/>
Universal Assignment - Multi-threaded hash tree Assignment. [Internet]. [Accessed March 21, 2026]. Available from: https://universalassignment.com/multi-threaded-hash-tree-assignment/
"Multi-threaded hash tree Assignment." Universal Assignment - Accessed March 21, 2026. https://universalassignment.com/multi-threaded-hash-tree-assignment/
"Multi-threaded hash tree Assignment." Universal Assignment [Online]. Available: https://universalassignment.com/multi-threaded-hash-tree-assignment/. [Accessed: March 21, 2026]

Please note along with our service, we will provide you with the following deliverables:

Please do not hesitate to put forward any queries regarding the service provision.

We look forward to having you on board with us.

Categories

Get 90%* Discount on Assignment Help

Most Frequent Questions & Answers

Universal Assignment Services is the best place to get help in your all kind of assignment help. We have 172+ experts available, who can help you to get HD+ grades. We also provide Free Plag report, Free Revisions,Best Price in the industry guaranteed.

We provide all kinds of assignmednt help, Report writing, Essay Writing, Dissertations, Thesis writing, Research Proposal, Research Report, Home work help, Question Answers help, Case studies, mathematical and Statistical tasks, Website development, Android application, Resume/CV writing, SOP(Statement of Purpose) Writing, Blog/Article, Poster making and so on.

We are available round the clock, 24X7, 365 days. You can appach us to our Whatsapp number +1 (613)778 8542 or email to info@universalassignment.com . We provide Free revision policy, if you need and revisions to be done on the task, we will do the same for you as soon as possible.

We provide services mainly to all major institutes and Universities in Australia, Canada, China, Malaysia, India, South Africa, New Zealand, Singapore, the United Arab Emirates, the United Kingdom, and the United States.

We provide lucrative discounts from 28% to 70% as per the wordcount, Technicality, Deadline and the number of your previous assignments done with us.

After your assignment request our team will check and update you the best suitable service for you alongwith the charges for the task. After confirmation and payment team will start the work and provide the task as per the deadline.

Yes, we will provide Plagirism free task and a free turnitin report along with the task without any extra cost.

No, if the main requirement is same, you don’t have to pay any additional amount. But it there is a additional requirement, then you have to pay the balance amount in order to get the revised solution.

The Fees are as minimum as $10 per page(1 page=250 words) and in case of a big task, we provide huge discounts.

We accept all the major Credit and Debit Cards for the payment. We do accept Paypal also.

Popular Assignments

Faculty of Business, Computing and Digital Industries

Module Handbook Faculty of Business, Computing and Digital Industries School of Business BMM5582: Business Research 2024-25 Contents Module Welcome…………………………………………………………………………… 3 Module Guide……………………………………………………………………………….. 4 Module Code and Title…………………………………………………………………. 4 Module Leader Contact Details and Availability………………………………….. 4 Module Team Tutors Contact Details and Availability………………………….. 4 Module Teaching………………………………………………………………………… 4 Module Intended Learning Outcomes……………………………………………….

Read More »

Study Skills and Personal Development Planning

Assignment Brief Sheet1Module Tutor:Dr Dennis PeppleModule NameStudy Skills and Personal Development PlanningModule CodeCBU401Title of Coursework:Assessment 1: Written Assignment (1500 words)Weight: 50%Title of Coursework:Assessment 2: Reflective (PDP) Report (1500 words)Weight: 50%Feedback detailsThe university policy is that you will receive prompt feedback on your work within 2 weeks of the submission date.

Read More »

BSc (Hons) Business Management 2026/2027

BSc (Hons) Business Management 2026/20271Project Title Fundamentals of Business Management Practice Deadline This Month 2026 – 17:00hs GMT Submission Method Online WORD.doc submission via Turn-It-In (Refer to Connect for submission link) Project Staff Dr Sakar RashidModule Title Fundamentals of Business Management Practice Level / Semester Level 4 / Sem 1

Read More »

BMM5582 Business Research

Module title  BMM5582 Business Research Assignment Weighting  60%  Assignment type  Research proposal Submission Deadline End of Semester 2 Learning outcomes (see Module Handbook for all learning outcomes)  LO1: Outline specific research aims and objectives, as well as the boundaries of research project. LO2: Investigate the existing body of knowledge in

Read More »

BMM5582 Business Research

Module title  BMM5582 Business Research Assignment Weighting  60%  Assignment type  Research proposal Submission Deadline 26th March 2025 Learning outcomes (see Module Handbook for all learning outcomes)  LO1: Outline specific research aims and objectives, as well as the boundaries of research project. LO2: Investigate the existing body of knowledge in line

Read More »

BMM5582 Business Research

Module title  BMM5582 Business Research Assignment Weighting  60%  Assignment type  Research proposal Submission Deadline This Week Learning outcomes (see Module Handbook for all learning outcomes)  LO1: Outline specific research aims and objectives, as well as the boundaries of research project. LO2: Investigate the existing body of knowledge in line with

Read More »

BMM5552: People Management

Module Handbook Faculty of Business, Computing and Digital Industries  School of Business  BMM5552: People Management 2026-27 Contents Module Welcome………………………………………………………………………….. 2 Module Guide………………………………………………………………………………. 5 Module Code and Title……………………………………………………………………. 5 Module Leader Contact Details and Availability…………………………………….. 5 Module Team Tutors Contact Details and Availability……………………………… 5 Module Teaching…………………………………………………………………………… 5 Module Intended Learning Outcomes…………………………………………………

Read More »

BMM5552: People Management

Assignment Brief BMM5552: People Management Assignment type Individual Report Learning outcomes (Please see module Handbook for all learning outcomes) By the end of this module, the student should be able to: Appraise the effectiveness of a range of people management models, theories, and concepts, including those dealing with setting up

Read More »

CTS Assignment 1 

CTS Assignment 1  Read the article on the assignment brief on food and answer the below questions Assignment Task: Undertake and present a relevant Case Study Analysis Report covering the following tasks:  Recommended structure for the answer  Main Topic: Critical Analysis of the Food Article Subtopic 1: Introduction (100 words)

Read More »

BSc (Hons) Business Management

ASSIGNMENT BRIEF PROGRAMME TITLE  BSc (Hons) Business Management  MODULE CREDIT VALUE   20 MODULE TITLE   Critical Thinking Skills   MODULE LEVEL   4 MODULE CODE LSME410 ACADEMIC YEAR  2026-27 MODULE TEAM   Harsha Subhashana, Victoria Miroiu, Forbes Jecheche LEARNING OUTCOMES  On successful completion of this module students will be able to: 

Read More »

Assignment Brief: BSc (Hons) Business Management MODULE

ASSIGNMENT BRIEF 1PROGRAMME TITLEBSc (Hons) Business Management MODULE CREDIT VALU20 MODULE TITLECritical Thinking Skills MODULE LEVEL4 MODULE CODELSME410 ACADEMIC YEAR2026-27 MODULE TEAMHarsha Subhashana, Victoria Miroiu, Forbes Jecheche LEARNING OUTCOMESOn successful completion of this module students will be able to:

Read More »

Assignment Brief: BSc (Hons) Business Management

ASSIGNMENT BRIEF 1PROGRAMME TITLEBSc (Hons) Business Management MODULE CREDIT VALUE20 MODULE TITLEPersonal and Professional Skills for Management MODULE LEVEL4 MODULE CODELSME402 ACADEMIC YEAR2026-27 Module TeamAmanda Babalola , Jean Serge Koffi , Narjes Vahedi LEARNING OUTCOMESOn successful completion of this module students will be able to:

Read More »

BMM6582: eBusiness and eMarketing

Assignment Brief BMM6582: eBusiness and eMarketing Component number Assignment 2 Assignment type 02 Analytical Review Learning outcomes for this assessment (Please see module Handbook for all learning outcomes) Compare, contrast, and analyse approaches used to evaluate a company’s current positioning in the traditional and electronic marketplaces.Appraise various options for developing

Read More »

Assignment Brief BMM5402: Professional Development & Placement (PDP)

Assignment Brief Module title BMM5402: Professional Development & Placement (PDP) Assignment number and title Semester 1 & Semester 2 Assignment type Part 1, Part 2, and Part 3 Learning outcomes (see Module Handbook for all learning outcomes) Investigate possible job opportunities and analyse job specification requirements (knowledge, skills, and experiences).Appraise

Read More »

Assessment 2: Expository Essay

Assignment Brief Sheet 4Module TutorDr Victoria MohammedModule NameIntroduction to Academic EnglishModule CodeCBF001Title of Coursework: Introduction of Academic EnglishAssessment 1: Argumentative EssayWeight: 50%Title of Coursework: Introduction of Academic EnglishAssessment 2: Expository EssayWeight: 50%Feedback detailsThe university policy is that you will receive prompt feedback on your work within 2 weeks of thesubmission

Read More »

LEVEL 4 ASSESSMENT SPECIFICATION

APPENDIX GA36a Programme: CERTHE Computing Skills for the Workplace Module: Software Solutions for Business Module code: ACCA4026 Contribution to Overall Module Assessment (%): 100% Lecturer(s)   Internal Verifier: Dr Teressa Chikohora   Assignment Title: Assessment Component 1 – Coursework: Portfolio Word count (or equivalent)   4000 Words Submission deadline:  21st

Read More »

Assignment Quantitative CASP RCT Checklist

CASP Randomised Controlled Trial Standard Checklist:11 questions to help you make sense of a randomised controlled trial (RCT)Main issues for consideration: Several aspects need to be considered when appraising arandomised controlled trial:Is the basic study design valid for a randomisedcontrolled trial? (Section A)Was the study methodologically sound? (Section B)What are

Read More »

Assignment Qualitative CASP Qualitative Checklist

CASP Checklist: 10 questions to help you make sense of a Qualitative researchHow to use this appraisal tool: Three broad issues need to be considered when appraising a qualitative study:Are the results of the study valid? (Section A)What are the results? (Section B)Will the results help locally? (Section C) The

Read More »

Assignment Topics

PS3002 Assignment TopicsDear studentsPlease choose one of the topics below. Please note that if you are repeating this subject, you cannot choose the same topic that you did previously in this subject.patellar tendinopathyinstability of the lumbar spinehamstring strainperoneal tendinopathyhip – labral tear.hip osteoarthritispatellofemoral instabilityankylosing spondylitisanterior cruciate ligament rupture (conservative management)quadriceps

Read More »

Assessment 2 – Report

Assessment 2 – Report (1200 words, 30%)PurposeTo demonstrate an understanding of the purpose and application of evidence-based dietary advice and guidelinesLearning objectives1.Review and analyse the role and function of macronutrients, micronutrients and functional components of food in maintaining health2.Understand digestion, absorption and metabolism of food in the human body and

Read More »

Assessment 2 – Individual Case Study Analysis Report

Southern Cross Institute,Level 2, 1-3 Fitzwilliam Street, PARRAMATTA NSW 2150 & Level 1, 37 George Street PARRAMATTA NSW 2150Tel: +61 2 9066 6902 Website: www.sci.edu.auTEQSA Provider No: PRV14353 CRICOS Provider No: 04078ªPage 1 of 16HRM201 Human Resources ManagementSemester 1, 2026Assessment 2 – Individual Case Study Analysis ReportSubmission Deadline: This Week,

Read More »

ASSESSMENT 2 BRIEF HPSYSD101 The Evolution of Psychology

HPSYSD101_Assessment 2_20240603 Page 1 of 7ASSESSMENT 2 BRIEFSubject Code and TitleHPSYSD101 The Evolution of PsychologyAssessment TaskAnnotated BibliographyIndividual/GroupIndividualLength2,000 words (+/- 10%)Learning OutcomesThe Subject Learning Outcomes demonstrated by successful completion of the task below include:b) Examine the significant figures, events and ideas present in the history of psychology.c) Identify and relate the

Read More »

Assessment 1 – Individual Case Study Analysis Report

HOS203 Contemporary Accommodation ManagementSemester 1, 2026Assessment 1 – Individual Case Study Analysis Report (10%)Submission Deadline: This Week, at 11:59 pm (Week 4)Overview of this AssignmentFor this assessment, students are required to analyse an assigned case study about hospitality industry relevant regulations and/or operational and accreditation failures of a hospitality organisation.

Read More »

Assessment Brief PBHL1003FOUNDATIONS OF HEALTH AND HEALTH CARE SYSTEMS

Assessment BriefPBHL1003FOUNDATIONS OF HEALTH AND HEALTH CARE SYSTEMSTitleAssessment 2 TypeEssay Due DateWeek 6 Monday 14 April 2025, 11:59pm AEST Length1000 words Weighting60% Academic IntegrityNO AI SubmissionUse Word Document – submit to Blackboard / Assessments Tasks & Submission / Assessment 2 Unit Learning OutcomesThis assessment task maps to the following Unit

Read More »

Assignment 4 – Intersection Upgrades and Interchange Station Design

CIVL5550: Civil Infrastructure DesignAssignment 4 – Intersection Upgrades and Interchange Station DesignDue: This WeekSubmission Instructions:1.Submit a report of approximately 10 pages, covering the following:Part 1: Intersection Upgrade Design•Propose upgrade schemes for two sign-controlled intersections and one signalized intersection•Use SIDRA to evaluate the performance of both the original and upgraded intersections•Use

Read More »

Assessment Brief 1

1 of 14Assessment Brief 1Assessment DetailsUnit Code Title NURS2018 Building Healthy Communities through Impactful PartnershipsAssessment Title A1: Foundations of Community Health Promotions ProjectAssessment Type ProjectDue Date Week 4, Monday, 22nd of September 2025, 11:59pm AESTWeight 40%Length / Duration 1200 wordsIndividual / Group IndividualUnit Learning Outcomes(ULOS)This assessment evaluates your achievement of

Read More »

Assignment 1 – Digital Stopwatch

Assignment 1 – Digital StopwatchThis assessment is an individual assignment. For this assignment, you are going to implement the functionality for a simple stopwatch interface as shown above. The interface itself is already provided as a Logisim file named main.circ . Your assignment must be built using this file as

Read More »

Assessment Background Country Profile

BackgroundCountry ProfileKiribati is an island nation situated in the central Pacific Ocean, consisting of 33 atolls2 and reef islands spread out over an area roughly the size of India (see Figure 1).i Yet, Kiribati is also one of the world’s smallest and most isolated country. A summary of Kiribati’s key

Read More »

Assessment 3: PHAR2001 INTRODUCTORY PHARMACOLOGY

PHAR2001 INTRODUCTORY PHARMACOLOGYAssessment 3: Case StudyASSESSMENT 1 BRIEFAssessment Summary Assessment titleAssessment 3: Case study Due DateThursday Week 6, 17 April at 11:59 Length•The suggested number of words (not a word limit) for the individual questions within the case study is as indicated at the end of each individual question. Weighting50%

Read More »

Can't Find Your Assignment?