Computational Thinking for Information Technology

50
COMPUTATIONAL THINKING FOR INFORMATION TECHNOLOGY HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

description

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP. Computational Thinking for Information Technology. HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP. STUDENT SCENARIO: Your Live Website. - PowerPoint PPT Presentation

Transcript of Computational Thinking for Information Technology

Page 1: Computational Thinking for Information Technology

COMPUTATIONAL THINKING

FOR INFORMATION TECHNOLOGY

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 2: Computational Thinking for Information Technology

STUDENT SCENARIO:YOUR LIVE WEBSITE

In this scenario, you have been hired on the web development team for Your Live Website and will be

working on website maintenance for Hillside Restaurant.

Arthur Grand will be your guide and virtual supervisor for the lesson. Your instructor will act as your project manager.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 3: Computational Thinking for Information Technology

ObjectivesThis course will enable you to develop logical thinking skills, including:• Asking probing questions to uncover details of a problem• Clearly defining a problem• Defining clear success criteria for the project including

measurable objectives• Evaluating the effects of design options• Making design decisions based on rational criteria• Deconstructing the problem into its component parts

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 4: Computational Thinking for Information Technology

Objectives (cont.)This course will enable you to develop logical thinking skills, including:• Identifying the steps required to solve a problem• Identifying the sequence of steps including possible

decisions and alternatives• Identifying normal and exceptional behaviors of a solution• Measuring and adapting the solution to optimize resource

utilization• Measuring and evaluating solutions against the success

criteria

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 5: Computational Thinking for Information Technology

WELCOME

Expectations | About our Consulting

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 6: Computational Thinking for Information Technology

Hello, I’m Arthur. Welcome aboard! We’re very excited have you on our team of consultants.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 7: Computational Thinking for Information Technology

ExpectationsIn your first months here, you will learn new technologies, research cutting-edge technologies, prepare documents, create and deliver presentations, and design and develop websites for clients.

These assignments may take you out of your comfort zone and push you to think in new ways. However, we are certain that the excitement of solving these challenges will more than make up for the difficulties you might encounter.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 8: Computational Thinking for Information Technology

We expect each of you to make the client’s

needs your priority by contributing to your

team and producing quality, finished

products on time.

We have worked hard to develop a

reputation for excellence, and are currently

the industry leader in consulting services in

information technology. We hope to be the

industry leader in the region within the next

five years. I hope you will be an integral

part of helping us reach that goal.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 9: Computational Thinking for Information Technology

About our consultingWe are a premier information technology

solution provider. We specialize in providing

reliable solutions for businesses in today's

fast-paced technology world. The company is

dedicated to providing clients with the most

powerful IT products, solutions and strategies

that keep their businesses on the cutting edge

of technology.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 10: Computational Thinking for Information Technology

We are committed to personal and professional

integrity, honesty, and open communications

with our clients. We seek long-term

relationships with our clients.

The Community College and University IT

(CCUIT) Division is responsible for providing

consulting services for educational institutions

systems. CCUIT is the largest division in the

company and key to the company’s success.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 11: Computational Thinking for Information Technology

Your roleOur excellent reputation is spreading. As a

result, within the last year, we have seen a

surge in the number of new clients seeking

our services. In turn, this has allowed us to

hire new employees such as you to help

us to deliver these services. You have

been assigned to the Community College

and University IT Services Division. The

division is primarily responsible for

providing consulting services for

educational institutions.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 12: Computational Thinking for Information Technology

Since many of the clients you will be working

for are new clients to the company, I would

like to ask you to start building a good

relationship with your client. Pay attention to

customer service skills, communicate often,

and most importantly provide your client with

finished products that are up to our standard

of excellence.

This is a fast-paced working environment. I

hope you will enjoy and be up to the

challenge.

Welcome aboard!

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 13: Computational Thinking for Information Technology

Ready to get started? Your tasks are waiting for you.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 14: Computational Thinking for Information Technology

TASKS AND ASSIGNMENTSYour Live Website developed Hillside Restaurant’s website. In the next month your team will be organizing itself, fixing bugs,

changing content, and adding features to the site.

This project consists of four tasks: organizing a team, installing a development environment, software maintenance and

implementing new use cases.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 15: Computational Thinking for Information Technology

Project OverviewAt Your Live Website, teams are highly collaborative so that all of the developers know how all of the code works. To this end, tasks are assigned to pairs of developers and all code written by one developer is always reviewed by at least one other developer on the team.

In order for your team to function effectively, first you must agree on some ground rules and make a schedule. This will take up your first week on the job.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 16: Computational Thinking for Information Technology

Project OverviewAll web developers must use a set of tools that will aid in their work. So your second week will consist of choosing and installing these tools and learning how to use them effectively.

After you have demonstrated that your chosen toolset works properly on your development machine, you will be assigned a set of bugs to fix in the website for Hillside Restaurant. Finally, you will add two new features to this website.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 17: Computational Thinking for Information Technology

TASK 1: ORGANIZE YOUR TEAM

For this task, you organize your team, define roles and work on team dynamics.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 18: Computational Thinking for Information Technology

OverviewBefore you begin, you first have to organize your team and agree on a plan for success. Experience has shown that if you know the details of the product you are developing, and if you get your team functioning properly at the beginning, then you will be on schedule during the whole project. This first week is also critical in order for your team to learn about and take advantage of the skills of each team member, which is required for a team's success.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 19: Computational Thinking for Information Technology

OverviewTeams only work if everyone does their part. You’ll collaboratively write a contract for your team to decide on how you will work together to deliver the project. Much of your bonus will depend on how you - as an individual - meet this contract, or deliver on your commitments, during this project.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 20: Computational Thinking for Information Technology

OverviewHow is your team going to meet each of the deadlines and submit quality work over the next few weeks? Everyone needs to know what is expected of them and especially when. It is up to the team to decide what schedule will include time for early submittal for the team's review. BEFORE your team submits any work to your director, the work must be reviewed, critiqued and edited by team members.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 21: Computational Thinking for Information Technology

OverviewYour team's first step is to define key roles, decide who will fill them, and agree on rules of communication, logistics and your project schedule. I’ve detailed requirements to lead your through this process.

Keep in mind that at the end of the project, your team will be eligible for a bonus. If your team receives the bonus, you will be asked as an individual to advise me on how to divide the bonus among the team members.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 22: Computational Thinking for Information Technology

Deliverables1. Team Contract, signed by each team

member.

2. Team Schedule; your project manager will give you a template. Fill in all but the starred fields. Define roles and tasks assigned to each team member and prepare a work schedule.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 23: Computational Thinking for Information Technology

Action PlanHold a team planning meeting with the following agenda:i. Analyze your team members' skills

ii. Define and assign roles (e.g. manager, time keeper, recorder, presenter, contributor, researcher.)

iii. Decide on a method for team communication and the sharing of files.

iv. Create the first draft of the team schedule using the template provided.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 24: Computational Thinking for Information Technology

Action PlanHold a team planning meeting with the following agenda:v. Be aware that to receive full credit, you

must use all of your team's resources in all of the deliverables.

vi. Think of things that might go wrong and agree on what the team will do to recover.

vii. Find a convenient time and location for team meetings.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 25: Computational Thinking for Information Technology

Action Planviii. Write a team contract, and have each

team member commit to it by signing it (this can be done by typing your name at the bottom indicating agreement if working online.) This contract delineates good team member behavior with regard to things like attendance at meetings, response to requests, meeting of deadlines, and review of other team members' work.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 26: Computational Thinking for Information Technology

Tips for Success:1. In all team meetings, enforce a 2 minute rule

where nobody can talk for more then 2 minutes at a time. Begin by brainstorming everything you currently know about making a hotel reservation. Consider all creative ideas and be as exhaustive and non-judgmentalas possible.

2. Move to all items you might not know or understand about website maintenance that may be relevant to this task. Again, consider all ideas as valid and reserve judgment.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 27: Computational Thinking for Information Technology

Debrief1. Did someone on your team race ahead

and start working on the project itself without the rest of the team? If so, how did that make the rest of the team feel?

2. What might prevent a team member from attending a future meeting that is currently on the schedule? What can the team do to avoid that happening?

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 28: Computational Thinking for Information Technology

Debrief (cont.)3. How much time does your schedule

allow to incorporate feedback from team members into your deliverable before you submit it to your director?

4. What will your team do if one of its team members drops out?

5. How did you enforce the 2 minute rule? Why? Was it worth the effort?

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 29: Computational Thinking for Information Technology

Your team is doing well. It’s time for your next task.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 30: Computational Thinking for Information Technology

TASK 2: INSTALL DEVELOPMENT ENVIRONMENT

For this task, you will select and set up a development environment for your team.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 31: Computational Thinking for Information Technology

OverviewThe first part of your project involves selecting and setting up a development environment for your team. This involves choosing a web hosting service and choosing which tools your team will use to modify and upload the website to your web hosting service.

During development, your team will need to host the website in a place where every member of your team will be able to download, upload and test the site.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 32: Computational Thinking for Information Technology

Overview (cont.)There are many free website hosting services, or you may choose to host the site on the company's servers.

After you have selected a web hosting service, research the most popular web development tools: editor, browser, file transfer program. Make a decision about which tools your team will use.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 33: Computational Thinking for Information Technology

Deliverables1. The URL of the home page where your

website can be viewed.

2. The names of your chosen tools, and the links to where you downloaded them

3. Updated Team Schedule

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 34: Computational Thinking for Information Technology

Action Plan1. Choose a public webserver from which

everyone can view your website.

2. List the features that you would like in an editor, a browser, or an IDE that you might use for developing web applications. Research the different development tools available today to see which ones have the features you need. For example: low price, syntax coloring, error console, establishing SFTP connection.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 35: Computational Thinking for Information Technology

Action Plan (cont.)3. Decide by consensus which tools your

team will use for this project. Download and install the team's chosen toolset. Your project manager will give you a copy of the source code for the Hillside Restaurant. Download the files to your local machine. Test that the website works correctly when loaded into your browser from your local machine.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 36: Computational Thinking for Information Technology

Action Plan (cont.)4. Test that your new tools work by

changing the area code that is displayed at the top of the Hillside Restaurant website. Copy the source code up to your chosen webserver and test that it still works

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 37: Computational Thinking for Information Technology

Tips for Success1. Keep good notes on why you made

certain decisions.

2. Call on teammates when you need help.

3. Don't hesitate to ask your project manager for support.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 38: Computational Thinking for Information Technology

Debrief1. Which blog or online discussion did you find

that was helpful in your research?

2. Why did you choose the tools you used?

3. How did you resolve disagreement within your team?

4. Did you change your choice of tools after using them? If so, why?

5. Did you find a bug after copying the website up to the public webserver and testing it from there? If so, what was it and how did you fix it?

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 39: Computational Thinking for Information Technology

Nice job! You’re set to move on to the

next task.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 40: Computational Thinking for Information Technology

TASK 3: SOFTWARE MAINTENANCE

For this task, you will find bugs and fix the problems within the source code.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 41: Computational Thinking for Information Technology

OverviewFour bugs have been reported by users. For each bug, your job is to find the problem in the source code and fix it.

1. The Hillside Restaurant website does not validate according to the World Wide Web Consortium ("W3C"). Make any changes necessary so that the site validates

2. One of the photos will not load.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 42: Computational Thinking for Information Technology

Overview3. The website must show the business

hours: Seven days per week, 8:00am – 9:00 pm.

4. The date at the bottom of the page should be in the form of "Thursday, June 15, 2012".

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 43: Computational Thinking for Information Technology

Deliverables1. The URL of the home page where the

client can confirm that all four bugs were fixed.

2. A screen shot showing that the website validates. Use http://validator.w3.org/

3. Updated Team Schedule.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 44: Computational Thinking for Information Technology

Debrief1. How did your chosen tools help you find

the errors in the source code?

2. How did working with a partner help in this task?

3. Was your team able to communicate effectively enough not to redo each others work? If not, how will you avoid duplication of effort in the next task?

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 45: Computational Thinking for Information Technology

Good job. Now just one more task

to go…

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 46: Computational Thinking for Information Technology

TASK 4: IMPLEMENT NEW USE CASES

For this task, you will implement new features requested by the client.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 47: Computational Thinking for Information Technology

OverviewThe client has requested two new features:

1. The users want to link to Google maps. Add code that allows users to click the restaurant's address and be taken to Google maps with a pin at the restaurant location.

2. The restaurant owners need a way to hear from their customers. Implement the "Contact" button so that a customer can send an email to the restaurant manager through the website.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 48: Computational Thinking for Information Technology

Deliverables1. The URL of the home page where the

client can confirm that the two new features have been fully implemented.

2. A screen shot showing that the website validates. Use http://validator.w3.org/

3. Updated Team Schedule.

Your challenge: Build in a level of security so that spammers can't take the manager's email address and send a lot of spam email to it.

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 49: Computational Thinking for Information Technology

Debrief1. Does everyone on your team understand

how all of the new code works? If not, a team code review is in order.

2. Discuss what is a "use case."

3. Did regression testing of your website find that the addition of the new features broke something in the original functionality? If so, what? And how did you fix it?

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP

Page 50: Computational Thinking for Information Technology

INSTRUCTOR CONTACT INFORMATION

eMail:

Phone:

Office location:

Office hours:

Other info:

HOME | OBJECTIVES | WELCOME | TASK 1 | TASK 2 | TASK 3 | TASK 4 | HELP