Learn about...
HTML is used to give semantic meaning to text and to create hyperlinks to other pages. Folder hierarchies can be used to organize websites with many pages.
Use the tutorial to answer the Pre-lab Questions in Blackboard. Be sure to complete the Pre-lab quiz before the start of the lab period. Otherwise, the penalty is 30%.
Note that these instructions are not always detailed. You must figure out some of the details by reading the textbook and investigating online sources. You can always ask your instructor for help. If your instructor is busy helping others, raise your hand to make sure the instructor sees that you need help, but then put your hand down and go back to work. As you wait for help, try your best to solve the problem on your own by reading the textbook.
For the first few labs, I will show you some of the features of Notepad++, which we will use for editing. At home you can use the editor or IDE of your choice. Eclipse and NetBeans are popular ones, but one of the goals in this course is to teach students how to debug code using only a text editor and a development server. Students should be wary of dependence on a particular IDE or debugging environment.
You can work together with your partner during lab. But after the lab session is over, you must complete this activity independently. Be sure to email your partner relevant files before the end of the lab session. You should not collaborate with your partner outside of the designated two-hour lab session.
Overview: You will use the information you acquired in the pre-lab to create appropriate semantic structure for content from a popular professional sport and then you will organize this content into a folder hierarchy.
body
of your HTML document and then add the appropriate markup tags. At minimum, you should use the following tags: h1
, h2
, h3
, p
, ol
, ul
, li
, dl
, dt
, dd
, table
, th
, tr
, td
, strong
, img
, caption
, and a
Player Profile (h1) Carmelo Anthony #7 (h2) Small Forward (h3) New York Knicks (h4) Image of Carmelo Anthony (save an image and use the img tag here) Info (h3) (use an unordered list for the content below) * Height: 6' 8" * Weight: 230 lbs * Born: May 29, 1984 in New York, NY (Age: 29) * Drafted: 2003, 1st Rnd, 3rd by DEN * College: Syracuse * Experience: 10 years Short Biography (h3) Carmelo Anthony was born in Brooklyn, New York, in 1984. Raised in Baltimore, Anthony became the No. 1 high school player in the country. As a freshman he led Syracuse University to the national title in 2003. That same year he was drafted third overall by the Denver Nuggets, becoming one of the league's top scorers. After seven-plus seasons in Denver he was traded to the New York Knicks in 2011. Full Biography (find a good external source and link to it) Stats (h3) (use a table for the content below) Recent Statistics* GP MPG RPG APG BLK STL PF TO PPG 2012-13 Reg. Season 67 37.0 6.9 2.6 0.5 0.8 3.1 2.6 28.7 2012-13 Postseason 12 40.1 6.6 1.6 0.2 1.1 3.8 2.6 28.8 Career 713 36.3 6.4 3.1 0.5 1.1 3.0 3.0 25.0 * Statistics for Carmelo Anthony (table caption) All Stats (find a good external source and link to it) Game Log (Last 5) (h3) (use an ordered list for the content below) 1. Sat 5/18 Loss Indiana 39 PTS 2. Thu 5/16 Win Indiana 28 PTS 3. Tue 5/14 Loss Indiana 24 PTS 4. Sat 5/11 Loss Indiana 21 PTS 5. Tue 5/7 Win Indiana 32 PTS Glossary (h4) (use a definition list, i.e., dl, dt, dd, for the content below) GP Games Played MPG Minutes Per Game RPG Rebounds Per Game APG Assists Per Game STL STeaLs per game PF Personal Fouls per game TO Turn Overs per game PPG Points Per Game
body
and then add the appropriate markup tags:
Team Profile (h1) New York Knicks (h2) Atlantic Division (h3) 2012-13 Season Record (h3) Overall: 54-28 (use breaks, i.e., br) vs Atlantic: 10-6 Team leaders (h3) PPG: Anthony 28.7 (use br and make PPG bold using strong) RPG: Chandler, 10.7 APG: Felton 5.5 Next Game (h3) Wed, Oct 9 7:30 PM ET @ Boston (use em to make @ Boston italic) 2012-13 NBA Rankings (out of 30 teams) (h3) (use unordered list for content below) * POINTS PER GAME 100.0 11th * REBOUNDS PER GAME 40.6 26th * ASSISTS PER GAME 19.3 30th * POINTS ALLOWED 95.7 7th Current Roster (h3) (use a table) NO. NAME POS AGE HEIGHT WEIGT 7 Carmelo Anthony SF 29 6-8 230 -- Andrea Bargnani C 27 7-0 256 42 Earl Barron C 32 7-0 250 6 Tyson Chandler C 30 7-1 240 2 Raymond Felton PG 29 6-1 205 10 Tim Hardaway Jr. SG 21 6-6 205 5 C.J. Leslie SF 22 6-9 200 3 Kenyon Martin PF 35 6-9 240 9 Pablo Prigioni PG 36 6-3 185 21 Iman Shumpert SF 23 6-5 220 8 J.R. Smith SG 27 6-6 220 1 Amar'e Stoudemire PF 30 6-11 245 -- Jeremy Tyler PF 22 6-10 260 19 Beno Udrih PG 31 6-3 203 -- Metta World Peace SF 33 6-7 260
body
and then add the appropriate markup tags:
National Basketball Association (h1) Team Pages (h2) Eastern Conference (h3) Atlantic Division (h4) Boston Celtics Boston, MA TD Garden 1946 Brooklyn Nets Brooklyn, New York City, NY Barclays Center 1976 New York Knicks Manhattan, New York City, NY Madison Square Garden 1946 Philadelphia 76ers Philadelphia, PA Wells Fargo Center 1949 Toronto Raptors Toronto, ON Air Canada Centre 1995 Central Division (h4) Chicago Bulls Chicago, IL United Center 1966 Cleveland Cavaliers Cleveland, OH Quicken Loans Arena 1970 Detroit Pistons Auburn Hills, MI The Palace of Auburn Hills 1948 Indiana Pacers Indianapolis, IN Bankers Life Fieldhouse 1976 Milwaukee Bucks Milwaukee, WI BMO Harris Bradley Center 1968 Southeast Division (h4) Atlanta Hawks Atlanta, GA Philips Arena 1949 Charlotte Bobcats Charlotte, NC Time Warner Cable Arena 2004 Miami Heat Miami, FL American Airlines Arena 1988 Orlando Magic Orlando, FL Amway Center 1989 Washington Wizards Washington, D.C. Verizon Center 1961 Western Conference (h3) Northwest Division (h4) Denver Nuggets Denver, CO Pepsi Center 1976 Minnesota Timberwolves Minneapolis, MN Target Center 1989 Oklahoma City Thunder Oklahoma City, OK Chesapeake Energy Arena 1967 Portland Trail Blazers Portland, OR Moda Center 1970 Utah Jazz Salt Lake City, UT EnergySolutions Arena 1974 Pacific Division (h4) Golden State Warriors Oakland, CA Oracle Arena 1946 Los Angeles Clippers Los Angeles, CA Staples Center 1970 Los Angeles Lakers Los Angeles, CA Staples Center 1948 Phoenix Suns Phoenix, AZ US Airways Center 1968 Sacramento Kings Sacramento, CA Sleep Train Arena 1948 Southwest Division (h4) Dallas Mavericks Dallas, TX American Airlines Center 1980 Houston Rockets Houston, TX Toyota Center 1967 Memphis Grizzlies Memphis, TN FedExForum 1995 New Orleans Pelicans New Orleans, LA New Orleans Arena 1988 San Antonio Spurs San Antonio, TX AT&T Center 1976
Consider that to complete an entire website with all 30 NBA team rosters and 15 players per team, we would need over 480 pages. In the near future, we will learn how to create all these pages programmatically by writing scripts to extract data and generate the pages dynamically. But, we must first understand how many websites still use folders to create logical organizations. Putting 480+ web pages in one folder is an organizational disaster because it is hard distinguish player pages from team pages. In the past, sub-folders and index files were used to organize large websites.
In the late 1990's and early 2000's, website developers realized the importance of directly connecting web servers with database servers. Today, almost every major website is database-driven, which means the underlying content is not stored in HTML files but rather in traditional relational databases. Web pages are generated dynamically by a scripting language. The most popular scripting languages for supporting websites include PHP, JSP, ASP, Ruby, Python, Perl and server-side JavaScript. Compiled languages like Java and C# can also be used to generate websites, but non-compiled languages are more widely used because making changes to the scripts does not require re-compiling and rebuilding full applications. Some web applications require the performance of a compiled language like C# or C++, but most web applications require only basic input/output operations and very little number crunching. Today, creating a serious website starts with thinking about how the website content will be stored in a database.
Imagine the work involved in creating pages for all the players and teams (over 480) and keeping them organized and updated throughout a season. Imagine if you wanted to change the appearance of all the player pages. Imagine if you wanted to add 10 games instead of 5 to the game log summary. Imagine how you would handle updates as players got drafted, traded, or retired. Not very long ago, large websites were implemented with static web pages organized into logical folder hierarchies. Consider how you would create, organize, and maintain a large website without scripting languages and databases. Life back then was hell.