This document provides an agenda and overview for a class on front end frameworks, JavaScript, and project 2. It discusses introducing Bootstrap and UI-Kit, JavaScript exercises including functions, variables, control flow, and built-in functions. It outlines homework 4 requirements and reviews frameworks, templates, and JavaScript examples. It describes project 2 expectations and grading criteria, then assigns homework 5 to start building a multi-week pizza ordering website project.
This document provides an agenda and overview for an introductory course on web development. The course will cover the hardware and protocols that power the internet, including how typing a URL leads to loading a webpage. It will introduce concepts like IP addresses, DNS, routers, servers, and HTTP. The instructor's background and course structure are outlined, which involves weekly lectures, exercises, and group projects building websites and backend services. Previews of upcoming modules show topics will include JavaScript, databases, APIs, and pitching projects.
This document provides an overview of various topics related to developing a NodeJS application with a database. It discusses mindsets for developers, resources for learning to code like online courses and communities, and technologies involved in web development like front-end versus back-end programming. It also introduces NodeJS, databases like MongoDB and Cloudant, and provides instructions for an example app using Cloudant on Bluemix. Students are assigned homework to deploy this example app and modify it for their own purposes.
This document provides an agenda for a class on making web pages look better with CSS. It discusses upcoming homework issues and presentations. It introduces flexbox, Bootstrap, and UI-Kit for layouts. It also outlines Project 2, which involves building the front-end for a business idea using a framework like Bootstrap or UI-Kit. Students will present a mockup by November 9th and the full project is due on the last day of class.
This document provides an agenda for a class that covers IBM Bluemix, some JavaScript concepts, mapping with Google Maps, and homework assignments. The class will introduce IBM Bluemix as a cloud platform provider and discuss some of its integrated services. It will also cover JavaScript concepts like variable scope, the this pointer, events, and immediately invoked functions. Students will learn how to create maps using Google Maps and work on sample projects. Homework assignments include creating a campus map with markers and working on a group project to design a website with pages, maps, and chatbots.
The document outlines the agenda for the final week of a web development course. It includes wrap-up discussions, group presentations, course surveys, and demos of web applications built with technologies like React, Node.js, and Google Cloud Platform. Students will also discuss current trends in web development tools and technologies and strategies for continuing their learning after completing the course.
This document provides an agenda and details for a class on databases and servers. It discusses homework status, projects 2 and 3 which involve building a website with front-end and back-end components. It demonstrates deploying a sample node app to IBM Bluemix and using cloud foundry commands. Key database topics covered include SQL vs noSQL, using local databases, and database services. An optional extra homework is assigned to deploy a pizza website project to Bluemix using a database.
This document provides an agenda and information for moving a website project to Bluemix. It discusses setting up a local development environment, using JSON and REST APIs, and introduces Project 3 which involves adding a database and chatbot to an existing website project. Students are asked to deploy their Project 2 website to Bluemix, set it up locally, and submit links to the Bluemix site and GitHub repository for homework.
This document provides an agenda and discussion for a class on user research, building tools, more JavaScript, and putting a website up. The class will include discussions of homework, UX and collaboration strategies, build tools like Grunt, integrating JavaScript into web pages, functions and scope in JavaScript, and exercises. For homework, students will create a web page that allows a user to select pizza toppings and displays the total price.
This document provides an agenda and overview for a class on search engine optimization (SEO). It reviews the previous class, discusses upcoming projects that students can choose to work on, and covers the history and mechanics of SEO, including on-page and off-page factors. Students are instructed on using tools like Google Analytics and GitHub for SEO tasks and source code management. Homework involves analyzing and suggesting improvements to a website based on SEO best practices.
This document provides an agenda for a class on databases and asynchronous JavaScript. It includes presentations of Project 2, a review of asynchronous concepts like callbacks, promises, and async/await. It also covers differences between SQL and NoSQL databases, examples of using SQL and MongoDB, and an introduction to using a Postgres database on Bluemix. Homework involves SQL queries on a Stack Overflow database and students are notified to begin working on Project 3, which will involve a database backend and chatbot.
This document provides an agenda and instructions for a JavaScript exercises and mapping project week. It includes reviews of variable scope, the "this" pointer, and mapping APIs like Google Maps and Leaflet. Exercises are assigned to create a button that tracks click counts and displays alerts. The homework assignment is to create a map of the UVic campus using Google Maps API, add 3 markers that show latitude/longitude on click and track marker counts, and log new map boundaries to the console on bounds changes.
This document discusses authentication, databases, and EJS partials in Node.js. It provides an overview of using the HTTP-AUTH package for basic authentication, demonstrates passing variables from a Node server to EJS templates, and assigns homework to create a website that uses basic authentication and stores data in a Cloudant database with EJS partials.
This document provides an agenda and information for a class on databases and chatbots. It discusses replicating a movies database, creating queries, and examples. It also reviews chatbots and the conversation_simple sample application. Finally, it outlines the grading criteria for Project 3 and homework assigning students to replicate the movies database and run queries.
This document provides an agenda and overview for a class on maps and hosting. It discusses using Google Maps and Leaflet for creating maps, and various options for hosting including Amazon Web Services, Heroku, Google, Microsoft Azure, and Digital Ocean. For homework, students are asked to create a map for a fictional pizza store website showing markers for 3 store locations, and optionally calculating distances to locations from a campus if a marker is clicked.
This document discusses the suitability of Go for web development. It notes that while Go's built-in HTML template engine is basic, the Gorazor template engine provides a more powerful way to mix Go code into HTML templates. Code generation approaches also allow Go to behave more dynamically at runtime. Go's fast compilation and use of interfaces make it well-suited for dynamic web applications and large websites. The document concludes that while other languages may be more mature, Go is suitable for developing large, stable, scalable websites that need to be maintained over time.
This document provides a summary of key concepts for new SharePoint developers. It discusses what functionality SharePoint provides out of the box, how the development tools and deployment process differ from a typical web application, important concepts like features and packages, and best practices around areas like disposing objects properly and avoiding direct web.config modifications. It also lists 10 things every SharePoint developer should know and how to avoid getting code rejected by an architecture group.
Web Developers are excited to use HTML 5 features but sometimes they need to explain to their non-technical boss what it is and how it can benefit the company. This presentation provides just enough information to share the capabilities of this new technologies without overwhelming the audience with the technical details.
"What is HTML5?" covers things you might have seen on other websites and wanted to add on your own website but you didn't know it was a feature of HTML 5. After viewing this slideshow you will probably give your web developer the "go ahead" to upgrade your current HTML 4 website to HTML 5.
You will also understand why web developers don't like IE (Internet Explorer) and why they always want you to keep your browser updated to latest version. "I have seen the future. It's in my browser" is the slogan used by many who have joined the HTML 5 revolution.
The development workflow of git github for beginnersGunjan Patel
For video of this session please visit https://youtu.be/lEnYz0b7omE
===================================================
Joomla! is using successful branching model to maintain and keep stable and staging separate. My presentation is mainly focused on beginners. How joomla is working with git and github to track bugs and release. I will explain basic functionality of Git, it's setup, basic git commands, explanation of commands. This will be basic to advance, so it will also help those who already know git but not following proper development workflow in their application. This presentation will guide and encourage them to use proper workflow. Beginners will able to get knowledge of Joomla development workflow which will help them to contribute in project easily. Topics which I am planning to cover are below,
* Set up your computer to use git & github.
* What is fork? How to fork a repository?
* Clone Repository to work in local
* What is upstream? How to configure upstream?
* Commit and Push changes
* Sending Pull request
* Updating your pull request.
=========== Help ==============
I have write some handy commands so it can be easy to work with Git. You may find book here https://gunjanpatel.gitbooks.io/gitbranchingmodel/content/index.html
Responsive design is forcing us to reevaluate our design and development practices. It's also forcing us to rethink how we communicate with our clients and what a project's deliverables might be. Pattern Lab helps bridge the gap by providing one tool that allows for the creation of modular systems as well as gives clients the tools review the work in the place it's going to be used: the browser.
This deck reviews some of the features of Pattern Lab. It also discusses how I feel it can fit into the overall workflow of a team. It doesn't cover the technical aspects of the tool but I'm happy to follow-up if anyone wants me to. Also, be sure to check out the documentation at http://pattern-lab.info/docs/
This class covers reviewing Git and server commands, Bootstrap tables, and introduces some new JavaScript topics like variables, user input/output, and variable scope. The homework assignment asks students to update their pizza ordering application to allow items to be typed in and generate a receipt with columns for item details and calculated totals. Key topics reviewed include Git commands like log, blame, checkout, Bootstrap tables and responsive design, JavaScript variables, parsing user input, and variable scope.
the third class of the spring 2017 untangling the web series
with a guest presentation by Chris Hawkins of Authentic business solutions https://authenticlab.ca/
This document provides an overview and agenda for an introductory course on web development. It introduces the basic hardware and protocols that power the internet, including switches, routers, IP addresses, DNS, and HTTP. It outlines the course goals of introducing web development teams and processes. The course structure is described, including weekly lectures, exercises, and group projects. The instructor's background is provided. Homework involving a video, system profiling, and setting up accounts is assigned to prepare for the next class.
This document provides an overview and agenda for an introductory course on untangling the web. The course will cover the hardware and protocols that power the internet, including how web requests work from typing a URL to accessing content. It introduces the instructors and outlines the weekly topics to be covered over 12 weeks, including networking basics, web servers, front-end development, and a final student project presentation. Students are given preparatory tasks like creating online accounts to prepare for future lessons involving tools like Google Analytics, Nitrous, and GitHub.
This document provides an agenda and overview for a class on untangling the web and modern web development. It discusses reviewing homework, using source code control like GitHub, GitHub Pages, the structure of modern websites including HTML, CSS and frameworks, and an introduction to the business model canvas homework assignment and project 1 requirements. Students will work in groups to develop a concept for a web business and present it using a completed business model canvas.
This document provides an agenda and notes for a class on web business. It discusses homework assignments, visits from a webmaster and entrepreneur, revenue models like SaaS and advertising. It introduces the Lean Launchpad methodology and Business Model Canvas for planning web businesses. Students participate in exercises applying these concepts to a nonprofit marketing campaign, social media for a cleaning company, and sketching canvases for a toy reseller business.
How to Become a Thought Leader in Your NicheLeslie Samuel
Are bloggers thought leaders? Here are some tips on how you can become one. Provide great value, put awesome content out there on a regular basis, and help others.
El documento describe el uso creciente de las nuevas tecnologías en México desde el año 2000. Señala que los esfuerzos para utilizar las tecnologías de comunicación e información han dado lugar a una administración pública más eficiente y eficaz, al proporcionar mayor información y servicios a los ciudadanos. También resume brevemente el desarrollo de Internet y la World Wide Web, y cómo su uso se expandió rápidamente en la década de 1990 al publicarse gran cantidad de información en línea de fácil acceso.
Los niños con discapacidad visual pueden presentar dificultades en el lenguaje, la psicomotricidad y el desarrollo cognitivo, y requieren estímulos auditivos, del gusto y el olfato, visuales y psicomotores. Para apoyar su aprendizaje, necesitan adaptaciones como estimulación específica, más tiempo para tareas, programas de autonomía, códigos de lectura adecuados, apoyo escolar y adecuación del entorno.
El documento habla sobre las cooperativas y sus diferentes formas. Menciona que las cooperativas son movimientos sociales que realizan prácticas empresariales para consumidores. Además, enumera diferentes formas de cooperativas y proporciona referencias como la Enciclopedia jurídica OPUS y un documento en línea sobre la función social del cooperativismo de trabajo.
ICT refers to information and communication technologies, including any devices or applications used for communication like radio, TV, phones, computers, networks, satellites, etc. as well as associated services. ICT is discussed in different contexts like education, healthcare, and libraries. The importance of ICT lies in increasing access to information and communication for underserved groups. Many countries promote ICT to prevent increasing technological advances in developed nations from exacerbating economic gaps between areas that do and do not have technology. ICT 2017 was a conference that brought together researchers to address challenges in information and telecommunication technologies.
O documento discute a desigualdade de gênero no Brasil, destacando que apesar da maior participação feminina na sociedade, a desigualdade persiste em todo o mundo. Aponta que o Brasil ocupa a 85a posição no Índice Global de Desigualdade de Gênero de 2015, e analisa as causas históricas e culturais da desigualdade, como o machismo e herança patriarcal, bem como suas consequências, como a violência contra mulheres e desfavorecimento salarial.
- The gig economy as currently defined will not last long term, as tasks like ridesharing and delivery are likely to be automated. However, skilled professionals using platforms like Thumbtack to find clients will persist and proliferate.
- Technology is empowering skilled tradespeople by allowing them to connect directly with customers and run their businesses more efficiently without traditional employers. Skilled professionals are less reliant on college degrees and are building middle-class lifestyles through online skills marketplaces.
- Policymakers should support independent workers through policies that provide safety nets and make it easier for skilled professionals to succeed without full-time employment.
Recovery: Job Growth and Education Requirements Through 2020CEW Georgetown
Recovery: Job Growth and Education Requirements Through 2020: Projections of jobs and education requirements through 2020. This report shows where the jobs will be by education level, occupation and industry. Recovery 2020 is an update to our Help Wanted: Projections of Jobs and Education Requirements Through 2018.
Best Practices for Building WordPress ApplicationsTaylor Lovett
This document provides best practices for WordPress applications, covering topics like caching, database reads/writes, search queries, maintainability, security, third-party code, teams, and workflows. It recommends tools and techniques to optimize performance, including using Redis for caching, Elasticsearch for complex queries, feature plugins, documentation, testing, linting, and managing dependencies with Composer.
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperOfer Zelig
We are all flooded with information: blogs, videos, millions of open source projects. In this presentation I share my insights: what are the must-know and must-have tools, frameworks and techniques you can use today (or at least know about) in order to be up-to-date.
React is a popular JavaScript library used to create user interfaces. It was built at Facebook to address challenges with large-scale, data-driven websites. React emphasizes functional programming over object-oriented programming and uses a virtual DOM for faster rendering. As React and related tools evolve, there can be breaking changes between versions that developers must keep up with by checking documentation. React supports code reusability through components and functions.
The summary discusses challenges faced with blogs and live blogging at The New York Times and solutions developed over time. Key points:
- Old blogs code at NYT assumed jQuery and Prototype would always load, causing conflicts as needs changed. Inline HTML and widgets added their own jQuery versions.
- Live blogging was done with custom database tables duplicating WP functionality. Posts couldn't leverage custom post types until later.
- New systems like Dashboards had per-blog tables, adding 100s of tables for 10 new blogs.
- NYT5 codebase required changes like putting WP in global scope and capturing output. This allowed leveraging shared modules while keeping WP backend.
It is a presentation to help software developers get started with a testing platform Cypress. I have created it personally and given the most basics of explanation regarding the new concepts.
A beginner's guide to setting up your development environment to build a very basic "Hello World" web part using the SharePoint Framework and resources on how to keep learning more about it.
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
In this slide deck I show you how you can easily and quickly create quite rich web applications with Vue 3 – without having to study complex concepts or understand many technical details. I have only recently learned how to work with Vue 3 myself and now is the best time for me to share my learning experience (and my enthusiasm) with you. I know what I found essential to understand and what most got me excited in these early steps (what was a little bit hard to grasp). I believe that I can present my steps and guide you to experience the same fun and have a similarly gratifying experience. I am not an expert in this subject – I have barely learned how to walk and that is why I can help you with these first steps with Vue.
In this deck, I do not explain how Vue works. I do not really know that. I will show you how to work with it and how to create web applications that are functional, appealing, fast and responsive.
The approach I am taking is straightforward:
• I will tell you a little bit about web development, browsers and reactive frameworks
• I will show the hello world of Vue applications
• I will explain about components and nesting, events, data binding and reactive behavior and demonstrate these concepts
• I will introduce Vue UI Component libraries – and with no effort at all we will launch our application to the next level – with rich components to explore, manipulate, visualize data collections
• We will publish the web application from our development environment to where the whole world could see it – using GitHub Pages
• As bonus topic – we discuss state management
At the end of this session you will be able to quickly create a simple yet rich web application with Vue 3. You have a starting point to further evolve your skills with the many online resources I am convinced that you will enjoy your newfound powers and the simplicity and power of Vue 3.
Note: a tutorial accompanies this slide deck - see https://github.com/lucasjellema/code-face-vue3-intro-reactiive-webapps-aug2023/blob/main/README.md
5 Common Mistakes You are Making on your WebsiteAcquia
The document discusses common mistakes that are often found during website audits. It covers 5 categories: content architecture, display architecture, site architecture, security, and performance. Some examples of mistakes mentioned include having similar content types, not reusing fields, extra modules installed that are not useful, reinventing functionality that Drupal already provides well, outdated core/contrib modules, and complex queries without indexes. The document provides best practices for each category such as planning content architecture ahead of time, separating logic from presentation, using the right hooks for custom modules, keeping software updated, and optimizing databases before caching. It emphasizes the importance of testing, environments, and maintenance for the website lifecycle.
This document provides an introduction to using Git and version control. It explains the basic concepts and workflow of Git, including initializing and committing to a local repository, pushing changes to a remote repository, and using branches for features and releases. It also discusses how to manage Drupal configuration changes using features in Git.
This document discusses component-driven web development and HTML5 Web Components. It defines what components are and their characteristics of being independent, composable, and deployable. It explains how to break a web page into reusable components and represent them as a tree structure. It also covers different types of components, data flow patterns like two-way binding and Flux, and emerging HTML5 Web Component standards like templates, imports, shadow DOM, and custom elements to build encapsulated and reusable components.
Sitecore development approach evolution – destination helixPeter Nazarov
Sitecore Development Approach Evolution – Destination Helix
Sitecore officially recommended Helix as a set of overall design principles and conventions for Sitecore development around 18 month ago at SUGCON 2016 alongside with an official implementation example - Habitat. Why was it necessary? What are the benefits? Has it worked in practice? Peter Nazarov will share the outlook on why and how a combination of Sitecore Helix and Habitat benefits the business and development users of Sitecore in practice.
Introduction to Paul Irish and Divya Manian's HTML5 Boilerplate project. HTML5 Boilerplate helps you to quickly get up and running with front-end web project.
Masterin Large Scale Java Script ApplicationsFabian Jakobs
Writing large desktop-like web applications is a challenge. Adapting such an application to different markets, languages or brands is even more of a challenge. This talk shows how the open source JavaScript framework qooxdoo can be leveraged to build such a rich internet application. As a real-life example the free web mail client gmx.com is used. This talk discusses the development model, customization and deployment of such an application.
Learn how JavaScript applications of this size and complexity are fundamentally different from classic web applications, and what issues come up when building fast, multi-language, multi-brand JavaScript applications.
The document outlines a summer training presentation for a Disney Plus Hotstar clone project using HTML, CSS, and JavaScript. It includes an introduction to key topics like web programming, HTML, CSS, JavaScript, and GitHub. It then describes the Disney Plus Hotstar clone project, which recreates the website homepage using a navbar, search box, sliding content carousel, movie cards with hover effects, and video playback on hover. The document concludes with references used in the project research.
The document discusses streams API, which enables asynchronous I/O processing by reading and writing data chunks. It can pipe data between streams and supports automatic transformations. The spec defines ReadableStream, WritableStream, and TransformStream interfaces. It is useful for tasks like loading video segments or sending messages over websockets. The implementation in browsers uses JavaScript builtins tied to WebIDL to define the API in a maintainable and performant way while avoiding memory issues, though it requires care around security.
Developing High Performance Web Apps - CodeMash 2011Timothy Fisher
This document provides an overview of techniques for developing high performance web applications. It discusses why front-end performance matters, and outlines best practices for optimizing page load times, using responsive interfaces, loading and executing JavaScript efficiently, and accessing data. The presentation recommends tools for monitoring and improving performance, such as Firebug, Page Speed, and YSlow.
Life of Ah Gong and Ah Kim ~ A Story with Life Lessons (Hokkien, English & Ch...OH TEIK BIN
A PowerPoint Presentation of a fictitious story that imparts Life Lessons on loving-kindness, virtue, compassion and wisdom.
The texts are in Romanized Hokkien, English and Chinese.
For the Video Presentation with audio narration in Hokkien, please check out the Link:
https://vimeo.com/manage/videos/987932748
How to Fix Field Does Not Exist Error in Odoo 17Celine George
This slide will represent how to fix the error field does not exist in a model in Odoo 17. So if you got an error field does not exist it typically means that you are trying to refer a field that doesn’t exist in the model or view.
Topics to be Covered
Beginning of Pedagogy
What is Pedagogy?
Definition of Pedagogy
Features of Pedagogy
What Is Pedagogy In Teaching?
What Is Teacher Pedagogy?
What Is The Pedagogy Approach?
What are Pedagogy Approaches?
Teaching and Learning Pedagogical approaches?
Importance of Pedagogy in Teaching & Learning
Role of Pedagogy in Effective Learning
Pedagogy Impact on Learner
Pedagogical Skills
10 Innovative Learning Strategies For Modern Pedagogy
Types of Pedagogy
Email Marketing in Odoo 17 - Odoo 17 SlidesCeline George
Email marketing is used to send advertisements or commercial messages to specific groups of people by using email. Email Marketing also helps to track the campaign’s overall effectiveness. This slide will show the features of odoo 17 email marketing.
Dr. Nasir Mustafa CERTIFICATE OF APPRECIATION "NEUROANATOMY"Dr. Nasir Mustafa
CERTIFICATE OF APPRECIATION
"NEUROANATOMY"
DURING THE JOINT ONLINE LECTURE SERIES HELD BY
KUTAISI UNIVERSITY (GEORGIA) AND ISTANBUL GELISIM UNIVERSITY (TURKEY)
FROM JUNE 10TH TO JUNE 14TH, 2024
Description:
Welcome to the comprehensive guide on Relational Database Management System (RDBMS) concepts, tailored for final year B.Sc. Computer Science students affiliated with Alagappa University. This document covers fundamental principles and advanced topics in RDBMS, offering a structured approach to understanding databases in the context of modern computing. PDF content is prepared from the text book Learn Oracle 8I by JOSE A RAMALHO.
Key Topics Covered:
Main Topic : PL/SQL
Sub-Topic :
Structure of PL/SQL Block, Declaration Section, Variable, Constant, Execution Section, Exception, How PL/SQL works, Control Structures, If then Command,
Loop Command, Loop with IF, Loop with When, For Loop Command, While Command, Integrating SQL in PL/SQL program.
Target Audience:
Final year B.Sc. Computer Science students at Alagappa University seeking a solid foundation in RDBMS principles for academic and practical applications.
URL for previous slides
Unit V
Chapter 15
Unit IV
Chapter 14 Synonym : https://www.slideshare.net/slideshow/lecture_notes_unit4_chapter14_synonyms-pdf/270327685
Chapter 13 Users, Privileges : https://www.slideshare.net/slideshow/lecture-notes-unit4-chapter13-users-roles-and-privileges/270304806
Chapter 12 View : https://www.slideshare.net/slideshow/rdbms-lecture-notes-unit4-chapter12-view/270199683
Chapter 11 Sequence: https://www.slideshare.net/slideshow/sequnces-lecture_notes_unit4_chapter11_sequence/270134792
chapter 8,9 and 10 : https://www.slideshare.net/slideshow/lecture_notes_unit4_chapter_8_9_10_rdbms-for-the-students-affiliated-by-alagappa-university/270123800
About the Author:
Dr. S. Murugan is Associate Professor at Alagappa Government Arts College, Karaikudi. With 23 years of teaching experience in the field of Computer Science, Dr. S. Murugan has a passion for simplifying complex concepts in database management.
Disclaimer:
This document is intended for educational purposes only. The content presented here reflects the author’s understanding in the field of RDBMS as of 2024.
PRESS RELEASE - UNIVERSITY OF GHANA, JULY 16, 2024.pdfnservice241
The University of Ghana has launched a new vision and strategic plan, which will focus on transforming lives and societies through unparalleled scholarship, innovation, and result-oriented discoveries.
2. AGENDA
• Talk about homework 4
• Intro to bootstrap and UI-kit
• Javascript exercises
• Review – how to communicate between the page and the script
• Functions and how to call them and write them
• Variables – initialization and scope
• Calling built-in functions – date, time, math functions, etc.
• Control flow – for loops, while loops, if/then/else
• Project 2
3. HOMEWORK 4
• New stuff in this homework
• Getting onto the server
• Using git clone to move your website to the server
• Integrating html, css, and js onto a page
• Old stuff revisited in this homework
• Editing files
• Creating a github project repository
• Adding files to that repo, committing, and pushing files to the server
4. UI FRAMEWORKS
• There are a number of different frameworks
• Some are just styling
• Bootstrap (from twitter)
• UI-Kit
• Some are more full-featured frameworks
• React
• Angular
• Vue
• For the most part, we are going to talk about the styling frameworks today
• Choose one and stick with it. I suggest bootstrap, but UI-Kit is my current favourite
for more advanced projects
5. BOOTSTRAP
• Built by Twitter originally, but open sourced and now has a large following
• Some features are built on top of jquery
• http://jquery.com/: “jQuery is a fast, small, and feature-rich JavaScript library. It makes things
like HTML document traversal and manipulation, event handling, animation, and Ajax much
simpler with an easy-to-use API that works across a multitude of browsers. With a
combination of versatility and extensibility, jQuery has changed the way that millions of
people write JavaScript.”
• We will not use jquery directly very much in this course, but know it exists
6. BOOTSTRAP
• Most functions are just CSS, though, and you invoke them by attaching classnames
to your HTML objects
• Remember last week when we wrote CSS to target by class? Using a period in the
CSS targets the styling by class name
• So in your HTML you can use classnames that have definitions in the bootstrap CSS
files
• For instance, in a button this makes it a “danger” button:
<a href="#" class="btn btn-danger">Danger</a>
7. BOOTSTRAP EXERCISE 1
• Using the button definitions below, create one of each of the five button types in
bootstrap:
• btn-default
• btn-primary
• btn-success
• btn-info
• btn-warning
• btn-danger
• Start from this as an example: http://jsfiddle.net/fv2ohh8y/3/
• Note the external resources!
9. BOOTSTRAP EXERCISE 2
• Reference: http://www.w3schools.com/bootstrap/
• Example: https://jsfiddle.net/oazgbqay/7
• Play with the page, understand what a responsive UI means
• Using the refence above, edit the page so that a tooltip pops up over the gray area
at the top (the “jumbotron”) that reads “Hooray!”
11. BOOTSTRAP THEMES
• Because the CSS is open source, by editing the bootstrap CSS and re-releasing,
many different visual styles are possible.
• https://bootswatch.com/ is a good source of some of these, but there are many
different sites
• https://jsfiddle.net/oazgbqay/9/
13. UI-KIT
• Really just an alternative to bootstrap. Different look. Some different functionality
• I like that it has an icon set you can use to keep all of your iconography consistent
• Reference: https://getuikit.com/docs/documentation_get-started.html
• Example: https://jsfiddle.net/k0xp1jzy/
14. USING BOOTSTRAP OR UI-KIT ON YOUR
PAGES RATHER THAN JSFIDDLE
• Easiest to use a CDN, but could also place the .js and .css files on your site directly
• http://getbootstrap.com/getting-started/
• https://getuikit.com/v2/docs/documentation_get-started.html
• <link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.xx.x/css/uikit.min.css" />
• <script
src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.xx.x/js/uikit.min.js"></script>
15. SOME JAVASCRIPT
• We’ll go through a number of exercises, but I want to review how to impact the
page from your javascript and how to launch your javascript from the page
• innerHTML is where the page contents are changed, but you have to first find the
object. So give each HTML object you’ll want to change an ID
• Then in the javascript use document.getElementById to find that object
• https://jsfiddle.net/3p9fm0w7/
16. TO REMEMBER!
• In jsfiddle, you’ll generally want to set your javascript to run in the body (click the
settings in the upper right of the javascript pane)
• And when you get into trouble and don’t see things working remember to use the
developer console (f-12 on PC, Cmd+Opt+I on Mac)
17. VARIABLES AND SCOPE
• Generally, variables in JS are global to the file that they are in, but there are many
exceptions that we’ll cover later
• Since scripts in the body are run when the page loads, you can initialize variables
outside of any function, and then use them from within functions
• So “var count = 0;” site outside the function
• “Count++;” sits inside the function
• https://jsfiddle.net/3p9fm0w7/1/
18. BUILT IN FUNCTIONS
• Date, math functions, etc
• A bit of a dense read, but here is a good reference
• https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects
19. DATE
• Let’s look at date more carefully
• The following example uses the console.log statement, so you’ll have to open your
developer console
• https://jsfiddle.net/mL75y122/
• Reference: https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Date
20. MATH
• Let’s look at a couple of math functions
• https://jsfiddle.net/v7tr5cov/
• Reference: https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Math
21. STRING
• Anything that manipulates text generally uses the string functions
• https://jsfiddle.net/r5Lckof3/1/
• A few things to note in here:
• The body onload is calling a function, that function must be declared before the body
(so in the head) which in jsfiddle is by changing the settings
• Strings are an array of characters, and you can reference individual characters to build
up a new string
22. CONTROL FLOW
• In the last example we used the setInterval function. This is a form of control flow in
that it re-runs the contents of that function every x milliseconds
• Most control flow expressions test a variable rather than the time, though
• For instance, the for loop looks at the state of a counter variable
• Notice the if statement here as well
• https://jsfiddle.net/6ewnaLp1/
23. PROJECT 2
• There will be a presentation, but nothing as formal as for project 1. No slides, no
changing computers. Just from my computer opening your website.
• Maximum 3 minutes per group, plus 2 minutes for questions. I will stop things if
they go long this time.
• Goal is to give your elevator pitch, backed up by showing the website
• Nothing needs to work, ie. No back-end is needed.
• But it needs to be responsive and styled properly
24. PROJECT 2 GRADING
• 15 points total
• 4 points for being properly hosted and checked into github
• I can open the page properly from my computer, it looks right, links work, and the code is
checked in
• 3 points for showing a proper github history (meaning that changes are checked in as
work progresses, good commit messages, everyone contributing)
• 5 points for well-designed and responsive styling of the page, using either your own CSS
or a framework like bootstrap or UI-Kit
• 3 points for javascript and behaviours leading to effective interaction
• These don’t need to tie to a database or a backend of any sort, these are display behaviours
25. HOMEWORK 5
• We’re going to start on a multi-week project to create a pizza ordering website
• Initially, this website will just have to show images of various toppings, and a button
next to each one.
• When the button is pressed that topping is added to the pizza and a total is shown
at the bottom
• The code is to be checked into github and running on your webserver, so you will
submit a link to your github project, and a link to it running on your server
• You do not need to ensure that a topping is added only once, but there should be a
clear button to clear the order
26. HOMEWORK 5
<img> tag for images (keep the images in
github and deploy to your site)
Buttons that call javascript
Javascript that adds to a running total, and
shows that total on the page
A clear button to zero the total and update
the display
A point for styling the page