Git Product home page Git Product logo

ntatelephadi.io

every practical I've done at UCT

Tumelo Lephadi's Projects

angular-tour-of-hereos icon angular-tour-of-hereos

Tutorial: Tour of Heroes The Tour of Heroes tutorial covers the fundamentals of Angular. In this tutorial you will build an app that helps a staffing agency manage its stable of heroes. This basic app has many of the features you'd expect to find in a data-driven application. It acquires and displays a list of heroes, edits a selected hero's detail, and navigates among different views of heroic data. By the end of the tutorial you will be able to do the following: Use built-in Angular directives to show and hide elements and display lists of hero data. Create Angular components to display hero details and show an array of heroes. Use one-way data binding for read-only data. Add editable fields to update a model with two-way data binding. Bind component methods to user events, like keystrokes and clicks. Enable users to select a hero from a master list and edit that hero in the details view. Format data with pipes. Create a shared service to assemble the heroes. Use routing to navigate among different views and their components. You'll learn enough Angular to get started and gain confidence that Angular can do whatever you need it to do. https://angular.io/tutorial

csc1015f_assignment_0 icon csc1015f_assignment_0

The first two questions in this assignment give you practice in typing in and editing programs. The third question is slightly more substantial and involves creating your first real program.

csc1015f_assignment_1 icon csc1015f_assignment_1

This assignment involves constructing Python programs that use input and output statements, 'if' and 'if-else' control flow statements, and statements that perform numerical manipulation. You may need to use additional attributes of the print statement that control what is printed at the end of each print statement (end="\n") and separating each value in a list of values (sep=" "). For example: print ("a","b","c") displays "a b c" print ("a","b","c", sep="|") displays "a|b|c"

csc1015f_assignment_2 icon csc1015f_assignment_2

This assignment involves constructing Python programs that use input and output statements, 'if' and 'if-else' control flow statements, 'while' statements, and statements that perform numerical manipulation.

csc1015f_assignment_3 icon csc1015f_assignment_3

This assignment involves constructing Python programs that use input and output statements, 'if' and 'if-else' control flow statements, 'while' statements, ‘for’ statements, and statements that perform numerical manipulation.

csc1015f_assignment_4 icon csc1015f_assignment_4

This assignment involves constructing Python modules that use input and output statements, 'if' and 'if-else' control flow statements, 'while' statements, ‘for’ statements, statements that perform numerical and string manipulation, and functions.

csc1015f_assignment_5 icon csc1015f_assignment_5

This assignment involves constructing doctest test scripts, and developing and reasoning about Python programs that use input and output statements, 'if' and 'if-else' control flow statements, 'while' statements, ‘for’ statements, and statements that perform numerical manipulation.

csc1015f_assignment_6 icon csc1015f_assignment_6

This assignment involves constructing Python programs that manipulate lists, dictionaries and strings.

csc1015f_assignment_7 icon csc1015f_assignment_7

This assignment involves constructing Python programs that manipulate lists, lists of lists, and strings.

csc1015f_assignment_8 icon csc1015f_assignment_8

This assignment involves constructing Python functions that use recursion. You must not use loop constructs (such as ‘for’ and ‘while’) in your solutions.

csc1016s_assignment_1 icon csc1016s_assignment_1

This assignment involves constructing structured programs in Java using class declarations, variable declarations, if statements, for loops and while loops, import statements, and input and output statements.

csc1016s_assignment_2 icon csc1016s_assignment_2

This assignment involves constructing programs in Java using class declarations to model simple types of object.

csc1016s_assignment_3 icon csc1016s_assignment_3

This assignment involves constructing programs in Java using object composition i.e. write class declarations that define types of object that contain other objects.

csc1016s_assignment_4 icon csc1016s_assignment_4

This assignment involves constructing programs in Java using object composition (i.e. write class declarations that define types of object that contain and manipulate other objects), and involves developing OO models of real world scenarios using UML.

csc1016s_assignment_5 icon csc1016s_assignment_5

This assignment involves constructing programs in Java using polymorphism, sub classes and inheritance.

csc1016s_assignment_6 icon csc1016s_assignment_6

This assignment involves constructing a Java program that supports interaction via a graphical user interface.

csc1016s_assignment_7 icon csc1016s_assignment_7

This assignment concerns (i) the use interface declarations to construct abstract data types and the use of class declarations to construct concrete (implementing) sub types; (ii) constructing and performing software testing using JUnit.

csc1016s_assignment_8 icon csc1016s_assignment_8

This assignment concerns solving problems involving reasoning about linked lists, constructing code that manipulates linked lists, and devising JUnits tests of linked lists.

csc1016s_assignment_9 icon csc1016s_assignment_9

This assignment concerns implementing ADTs using linked data structures and using queues/stacks to solve programming problems.

csc2001f_assignment_1 icon csc2001f_assignment_1

Instructions Write an Electronic Telephone Directory application in Java, using a Binary Search Tree (BST) as an internal data structure.

csc2001f_assignment_2 icon csc2001f_assignment_2

Write an Electronic Telephone Directory application in Java, using an AVL Tree as an internal data structure. Your AVL Tree implementation can be created from scratch or re-used from anywhere. You may NOT replace the AVL Tree with a different data structure. The data you are given (see attached file) has the following format: 51850 Kianna Squares, Terre Haute|552.531.3674|Gislason Kenna 17386 Stephanie Parks, Palm Springs|018-594-2935 x716|Hickle Leone 97354 Queen Squares, Birmingham|(332)985-4036|Moore Gilbert The fields are: address, telephone number, name. Every full name has a last name and a first name. The fields are separated by "|". The lines of the file are unsorted. When loading this data, the key you must use is the full name. You need to parse each line of text and extract the name. Each record will therefore contain: {full_name, full_entry}. Your tasks are as follows: Write an application SearchAVL to search for an entry based on a full name. Your application must read in a list of queries from a query file, search for each one and output "Not found" or the full entry for each query. The data file must be loaded only once. Conduct an experiment with SearchIt (from previous assignment) and SearchAVL to demonstrate the speed difference for searching between a BST and an AVL tree. Measure the speed of insertion, deletion and search operations. Extract names from the data file and use only these names as queries. Use multiple subsets of the data from n=1 up to n=10000. Draw a graph for each operation that illustrates the relative performance of your applications for different values of n. You may want to instrument your code by inserting timekeeping operations such as the following. If your computer is too fast to take accurate readings of small amounts of time, run the operation multiple times.

csc2001f_assignment_3 icon csc2001f_assignment_3

A hash table used for your Electronic Telephone Directory could result in faster operations. For this assignment, your goal is to measure how well some popular hash functions will generate hash values with maximum spread and minimal collisions. Do not implement the whole hash table data structure or attempt to resolve collisions. All that is required is the hash functions. Write an application to apply 4 different hash functions to each key in the attached data file. Assume m=20011 to be the hash table size in all cases. The worst case hash function, h(x)=1 Hash function 1 (from the slides), to add Unicode values Hash function 2 (from the slides), to add shifted Unicode values Another reasonable function of your choice The data you are given (see attached file) has the following format: 51850 Kianna Squares, Terre Haute|552.531.3674|Gislason Kenna 17386 Stephanie Parks, Palm Springs|018-594-2935 x716|Hickle Leone 97354 Queen Squares, Birmingham|(332)985-4036|Moore Gilbert The fields are: address, telephone number, name. Every full name has a last name and a first name. The fields are separated by "|". The lines of the file are unsorted. When loading this data, the key you must use is the full name. In order to test how well a hash function generates unique and dispersed values, you must use the information-theoretic notion of entropy that calculates the information content of a random variable. You can read about entropy on Wikipedia. In our case, the hash function is the random variable. Higher entropy is better. Example entropy calculation Suppose m=7, and we hash n=10 items to produce the following sequence of hash values: 0,2,4,2,6,0,0,5,2,4 Then, the probability of each hash value P(x) can be calculated by counting occurrences of each value and dividing by n, to give us: 0.3, 0, 0.3, 0, 0.2, 0.1, 0.1 For each hash value, we can then compute "-P(x) Log (P(x))", to give us: 0.16, 0, 0.16, 0, 0.14, 0.1, 0.1 The entropy is then the sum of the above values: H(X) = 0.65 Your tasks are as follows: Write an application to generate the hash values. Calculate the entropy of each hash function. Use a spreadsheet or simple program. Write a report (of up to 10 pages) that includes the following: What the problem is (at most half page). The design and implementation of your hash functions (at most 2 pages). A sample of hash values to illustrate the differences for the different functions. The design of your comparison experiments, results, discussion and conclusions.

csc2001f_assignment_4 icon csc2001f_assignment_4

This assignment concerns using directed graphs to develop a simulation of an emergency medical ervice; of ambulances, hospitals, and medical emergencies.  Hospitals have emergency units.  Ambulances are stationed at hospitals.  The road network that connects hospitals and victim locations can be modelled with a weighted directed graph.  Emergency calls are received from victims at particular locations.  Ambulances must be routed to victims and then on to hospitals. (An ambulance can only take a victim to the hospital at which it is stationed.) Part one of the assignment will be automatically marked, while part two will be manually marked.

csc2002s_assignment_1 icon csc2002s_assignment_1

Parallel Programming with the Java Fork/Join framework: 1D Median filter Median filtering is a nonlinear digital filtering technique that is often used to remove noise from a data set. Noise reduction is usually a pre-processing step to that improves or “cleans” the data in preparation for later processing. In this method, a median filter slides over the data item by item, generating a new data set, where each item is replaced by the median of neighbouring entries. An example result for a 1D data set is shown in the image below. The size of the filter determines the number of neighbours considered for the median. In this assignment, you will consider only one-dimensional data sets and filters of odd size, ranging from 3 to 21 data items. For example, a median filter of size 3 applied to the simple 1D array x: x = [2 80 6 3 1] produces output array y: y = [2 6 6 3 1] where each element of y is calculated as follows: y[1] = Median[2 80 6] = 6 y[2] = Median[80 6 3] = 6 y[3] = Median[6 3 1] = 3 Note that the borders are not changed and that the size of the borders depends on the filter width. In this example the border is 1 element. The naïve approach to median filtering sorts the elements within the filter window at each step to calculate the median (which will then be the middle element). Using this naïve approach (which we will do in this assignment) the median computation can be quite expensive, especially if the filter window is large. Therefore, in this assignment you will attempt to parallelize the problem in order to speed it up. You will: • Use the Java Fork/Join framework to parallelize the median filter operation using a divide-andconquer algorithm. • Evaluate your program experimentally: o Using high-precision timing to evaluate the run times of your serial and your parallel method, across a range of input sizes and a range of filter sizes, and o Experimenting with different parameters to establish the limits at which sequential processing should begin. • Write a report that lists and explains your findings. Note that parallel programs need to be both correct and faster than the serial versions. Therefore, you need to demonstrate both correctness and speedup for your assignment.

csc3002f_assignment_1 icon csc3002f_assignment_1

1. Chat App There are a range of chat applications with a multitude of different features. Some are intended for group communication, such as the good-old IRC, whereas others, such as Facebook Chat, are typically designed for a 1:1 private chat. A few others, such as Skype and WhatsApp, are typically used for both 1:1 and group chat. There are also others that are ideal for broadcast messaging in group communication (Vula chat is one example of this). All these chat apps are supported by different protocols and can be distinguished based on their features and interaction interfaces

csc3022h_assignment_1 icon csc3022h_assignment_1

The objective of this tutorial is to build a simple database of student records, which can be queried for student information. The database will consist of fixed size records which contain student details. You will first need to set up the source code framework/structure and build a simple menu-based interface. After you’ve successfully done this you can fill in the details by implementing all database functionality. The database will not be sorted or indexed since this requires more complex algorithms and data structures. This is an exploratory tutorial, intended to give you some experience with basic C++ coding

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.