The hands-on exercises are divided into groups matching our course contents: programming, database management systems, data analysis and web technology. Here is just a taste of what is coming, you can explore them based on your interests.
Note: Most of our third party demos and practices need login. You can simply use your google account or any other social network account. They are serious academic sites and has no threat to your privacy.
The FizzBuzz challenge is a popular coding challenge that tests your ability to write code that can identify multiples of a given number. In this challenge, participants are asked to write a program that prints the numbers from 1 to 100, but for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers that are multiples of both three and five, the program should print "FizzBuzz".
Your hands-on exercise:
Can you fill in the correct code on the above-right code by clicking "Edit this code". When you finish the code editing, run the code by click "prev" or "Next" or "Run all".
Find out how many steps to complete this code .
and check if the results sprinted are satisfied with the challenge.
Jupyter Notebook is an open-source web application that allows us to create and share documents that contain live code, equations, visualizations, narrative text or your personal notes. It is imprtant skills we are teaching in IT course.
In this exercise, you will see how the code and the results of running the code are bundled together in one notebook. you can alter the code and run it in new order or a order you have defined.
You are asked to visualize some simple data using Python language. (To do it you will need to load two popular packages in Python: NumPy and Matplotlib). NumPy is used to create some random data and Matplotlib is used to visualize it.
Your hands-on exercise:
Open this LINK. On the left box, under "Name" click "notebooks", and then "intro.ipynb". You will see "Introduction to the JupyterLab and Jupyter Notebooks".
Scroll down to "An example: visualizing data in the notebook".
Right click the mouse, select "Clear all the outputs"
move curse to the first code cell (box) and click mouse to select it.
Click the triangle on the top menu- "Run selected cells". you will see a graph is painted.
You can see this graph has 100 circles. Try to interpret what they mean.
Now, try to plot a new graph with 10, 20, and 50 numbers respectively and check your results.
Hint: Change line "x, y, scale = np.random.randn(3, 100)"
The Lorenz differential equations are a set of three ordinary differential equations first studied by meteorologist Edward Lorenz in the 1960s. These equations describe the behavior of a simplified model of atmospheric convection, but they have also been used as a model for other complex systems in physics, biology, and engineering.
The equations are as follows:
dx/dt = σ(y - x)
dy/dt = x(ρ - z) - y
dz/dt = xy - βz
You will try,
Explore how to change (σ, β, ρ) with ipywidgets and examine the trajectories. ipywidgets is a Python library that provides interactive widgets for Jupyter Notebooks and JupyterLab. These widgets allow users to create interactive graphical user interfaces (GUIs) that can be used to manipulate and visualize data in real-time.
For the default set of parameters (σ, β, ρ), Compute the average positions in x, y and z.
Creating histograms of the average positions (across different trajectories) show that, on average, the trajectories swirl about the attractors.
Your hands-on exercise:
Open this LINK. On the left box, under "Name" click "notebooks", and then "Lorenz.ipynb". You will see "The Lorenz Differential Equations" notebook is opened.
Right click the mouse, select "Clear all the outputs".
Click the triangle on the top menu- "Run selected cells". Run cells one by one. (It sometimes may take a while since the remote server may overload or you have a slow connection. You may need to close your browser and Clink this link again.)
Once you see the graph and the visual widget of "three horizontal scroll bars", You can play with them to see the effect on the graph
Run code to finish and explain the Histograms
As the volume of business data has grown, database management has become vital to data optimization and security. Database management is materialised by computer based database management systems (DBMS). DBMS makes sure that data is stored, accessed and controlled throughout its lifecycle from creation, use, update to deletion.
Structured Query Language (SQL) is a standardized programming language that is used to manage relational databases and perform various operations (CURD) on the data in them. SQL is regularly used not only by database administrators, but also by developers writing data integration scripts and data analysts looking to set up and run analytical queries.
In this exercise, you will use "jupyterlite/xeus-sqlite-kernel" wraps the original "jupyter-xeus/xeus-sqlite" kernel for use in JupyterLite. SQLite ia a native implementation of the Jupyter protocol xeus for simeple relational database. Don't bother with too many stange terms. Simpel thinking it is a easy way we can use SQL to access data stored in a database.
Your hands-on exercise:
Open this LINK. On the left box, under "Name" click "notebooks", and then "sqlite.ipynb". You will see "JupyterLite xeus-sqlite Kernel Demo" notebook is opened.
Right click the mouse, select "Clear all the outputs".
Click the triangle on the top menu- "Run selected cells". Run cells one by one. (It sometimes may take a while since the remote server may overload or you have a slow connection. You may need to close your browser and Clink this link again.)
The first line fo the python code "%CREATE example_db.db" will creatre an "in-memory database". A database is a cellecction of tables, where the data is stored in RDBMS. It liks a hotel with many rooms to accommodate guests. The actual gests are allocated into rooms.
Then you need to creat tables and populate tables. The way to do it is using SQL. That is what the line 2 and 3 does.
Line 4 counts how many records in table players. It likes counting how many people in room number 1. This is the most basic operation for data store and retrieval.
You can carry on the read and run the code prpvided. Basically, "Insert" is add data into database, and "Select" is retrieve data from database. Retrieval is generally have conditions. it is called "QEURY".
Play with the code. you can instert new data of your own. and try to retrive them by issue qqueries using SQL "select".
Have fine.
identified entity: Products, Vendors, and Customers
Attributes of each entity:
Products: P_id, V_id, P_name, P_color, P_size
Vendors: V_id, V_name, V_address
Customers: C_id, C_name, C_phone, C_email
Relationships:
Data Modelling is a design process. It produces a data model for the data that we want to store in a database. A data model highlights the essential data property and the relationships between data. Data models assure uniformity in the naming conventions, and security semantics while assuring the data quality.
Data modeling occurs at three levels—conceptual, logical, and physical
A conceptual model identifies the high-level, user view of data.
A logical data model sits between the physical and conceptual levels and allows for the logical representation of data to be separate from its physical storage.
A physical model is a schema or framework for how data is physically stored in a database.
This hands-on exercise is to model data at the conceptual level. for the given scenarios.
You need to
identify the entity (object that data is representing),
identify properties (how the object is described) of the entity and
identify the relationship between the entity in terms of cardinality (one-to-one, one-to-many, many-to-one, or many-to-many).
Scenario:
Online Bookstore: Imagine you are designing a database for an online bookstore that sells books, e-books, audiobooks, and merchandise. You will need to identify the entities, attributes, and relationships involved in the business process. Some of the entities might include customers, orders, products, authors, publishers, and payment methods.
University Course Registration System: Consider the development of a course registration system for a university. You will need to model the relationships between entities such as students, courses, professors, departments, and class schedules. The system should support registration, enrollment, grading, and course management functionalities.
Social Media Platform: Suppose you are developing a social media platform that allows users to post, share, and comment on various types of content, such as text, images, videos, and audio. You will need to identify the key entities, attributes, and relationships in the system, such as users, posts, comments, likes, shares, and followers.
Clink here to check Answers.
Any IT system or a digital product needs a UX/UI design. UX is User Experience design and UI is User Interface design.
UX design is concerned with creating an optimal experience for the user of a digital product. It involves understanding the user's needs and behaviors and designing the product in a way that is intuitive, efficient, and enjoyable to use. UX designers often use techniques such as user research, usability testing, and information architecture to create a seamless and satisfying user experience.
UI design, on the other hand, focuses on the visual and interactive elements of a digital product. It involves designing the interface of the product - the buttons, menus, icons, and other visual elements that the user interacts with. The goal of UI design is to create a visually appealing and functional interface that is easy for the user to navigate and understand.
UX and UI design are distinct fields but closely related and often overlaped tasks. Both require an understanding of the user's needs and behaviors, and both are essential for creating a successful digital product. A good UX design is necessary for ensuring that the product meets the user's needs, while a good UI design is necessary for making the product visually appealing and easy to use. Ultimately, the best digital products are those that have both good UX and UI design.
Tools: There are many tools available for UX/UI design ranging from simple paper and pencil sketches to more sophisticated digital tools. One of the popular tools is called Figma.
Figma: This is a cloud-based design tool that includes features for wireframing, as well as collaboration and prototyping. It allows multiple users to work on the same design in real-time and provides tools for version control, commenting, and feedback.
In this exercise, you are going to use Figma to complesh the follwoing task. The way to do it is watch the youtube tutorial and mimit the action in the tutorial but try to design the task given below.
Task:
Design a mobile app that allows users to track their daily water intake. The app should have no more than 3 screens.
Instructions:
Create a new project in Figma and select the "Mobile" option from the templates menu.
Create a new frame for the "Home" screen of the app. This screen should include the following elements:
A header with the app name and logo
A progress bar or circle that shows the user's daily water intake goal and progress
A button or icon that allows the user to log a new water intake
Create a new frame for the "Log Water Intake" screen. This screen should include the following elements:
A header with a back button to return to the home screen
A form or input field that allows the user to enter the amount of water they drank
A button that allows the user to save the water intake and return to the home screen
Create a new frame for the "Settings" screen. This screen should include the following elements:
A header with a back button to return to the home screen
A form or input field that allows the user to set their daily water intake goal
A button that allows the user to save the new goal and return to the home screen
Use Figma's design tools to customize the layout, colors, typography, and other design elements of the app screens.
Add any additional elements or features that you think would improve the app's usability or visual appeal.
Share your designs with your classmates or instructor for feedback and critique.
Online bookstore:
Entities:
Customer
Order
Product
Author
Publisher
Payment Method
Attributes:
Customer: customer ID, first name, last name, email, phone number, address
Order: order ID, customer ID, order date, order status, total price
Product: product ID, product name, product type (book, e-book, audiobook, merchandise), price, description, publication date
Author: author ID, author name, biography
Publisher: publisher ID, publisher name, address, phone number
Payment Method: payment method ID, payment method type (credit card, PayPal, etc.), payment details (card number, account number, etc.)
Relationships:
Customer can place many orders (one-to-many relationship)
Order is associated with one customer (many-to-one relationship)
Order contains many products (many-to-many relationship)
Product is written by one or many authors (many-to-many relationship)
Product is published by one publisher (many-to-one relationship)
Order can use one payment method (many-to-one relationship)
Payment method can be used by many orders (one-to-many relationship)
University Course Registration System
Entities:
Student
Course
Professor
Department
Class Schedule
Enrollment
Attributes:
Student: student ID, first name, last name, email, phone number, address
Course: course ID, course name, course description, credit hours, prerequisites
Professor: professor ID, first name, last name, email, phone number
Department: department ID, department name, department chair, office location
Class Schedule: schedule ID, course ID, professor ID, room number, time slot, day of the week
Enrollment: enrollment ID, student ID, schedule ID, grade
Relationships:
Student can enroll in many courses (many-to-many relationship)
Course can have many students (many-to-many relationship)
Course can have many professors (many-to-many relationship)
Professor can teach many courses (many-to-many relationship)
Department can offer many courses (one-to-many relationship)
Course can belong to one department (many-to-one relationship)
Schedule is associated with one course (many-to-one relationship)
Schedule is taught by one professor (many-to-one relationship)
Schedule is associated with one room (many-to-one relationship)
Enrollment is associated with one student (many-to-one relationship)
Enrollment is associated with one schedule (many-to-one relationship)
Social Media Platform
Entities:
User
Post
Comment
Like
Share
Content
Attributes:
User: user ID, username, email, password, profile picture
Post: post ID, user ID, post text, post date, post type (text, image, video, audio)
Comment: comment ID, user ID, post ID, comment text, comment date
Like: like ID, user ID, post ID, like date
Share: share ID, user ID, post ID, share date
Content: content ID, content type (text, image, video, audio), content source (user-generated, curated), content date
Relationships:
User can create many posts (one-to-many relationship)
Post can be created by one user (many-to-one relationship)
Post can have many comments (one-to-many relationship)
Comment can be associated with one post (many-to-one relationship)
Comment can be created by one user (many-to-one relationship)
Post can have many likes (one-to-many relationship)
Like can be associated