Introduction to Programming Concepts @CindyRoyal Associate Professor Texas State University Stanford Knight Journalism Fellow 2013-2014 slideshare.net/cindyroyal
Coding is becoming an important literacy • Supports algorithmic thinking • Develops a problem-solving mindset • An expression of innovation and creativity • Provides a perspective on the tech environment
Tweak a Content Management System • The CMS defines a media company’s business • Can you tweak content in a CMS to get the proper layout and presentation? • Can you use a CMS to develop a website for a project or event?
Retrieving data: Scraping and APIs
Storytelling has become interactive
Technology is communication, communication is technology
What is Computer Programming? • Problem solving using computer code • Working with and developing algorithms to accomplish specific tasks • Web development is a type of computer programming • Combination of content, design, functionality and data • Computers are dumb, but obedient –will do what you tell them. • It’s fun! Provides a sense of accomplishment.
Types of Languages • Markup languages – HTML/CSS • Compiler languages – Java, C, C++ - used for large systems • Interpreted languages – JavaScript, Python, Ruby, PHP • Data-oriented languages - SQL • Visual languages – like Scratch for kids • Web Development Frameworks – Bootstrap, Django, Rails • Libraries - JQuery
Basic Coding Syntax HTML – using tags to markup text <html> <head> <title>My Website</title> <head> <body> <h1>Welcome to my website</h1> </body> </html> CSS – applying design and layout body { background: white; font-size: 12px; color: black; } h1 { font-size: 30px; color: red; }
Basic Coding Syntax • Data types – string, integer, etc. • Variables – can store and reuse information x = 10; name = "Cindy";
Logic: applied through if statements and loops if (age >= 18) { document.write(“You are old enough to vote”); } else { document.write(“You are not yet old enough to vote”); } x = 0; sum = 1; while (x < 10) { sum = sum * 2; x = x+1; }
Functions: ability to reuse coding instructions and call when needed function addNum(x) { sum = sum + x; document.write(sum); } addNum(10);
Get Started • Codecademy.com • Lynda.com • Google Charts, MyMaps and Fusion Tables • Chart.js or HighCharts • Coding meetups/hackathons in your community, like Girls Who Code, Hacks/Hackers • CodeActually.com
Get Started • Introduce technology concepts: – Agile Methodologies – Design Thinking – Prototyping • Spreadsheet basics • Chartle/Wordle • Review great work
JEAA Workshop - Programming for Communicators

JEAA Workshop - Programming for Communicators

  • 1.
    Introduction to ProgrammingConcepts @CindyRoyal Associate Professor Texas State University Stanford Knight Journalism Fellow 2013-2014 slideshare.net/cindyroyal
  • 2.
    Coding is becomingan important literacy • Supports algorithmic thinking • Develops a problem-solving mindset • An expression of innovation and creativity • Provides a perspective on the tech environment
  • 3.
    Tweak a ContentManagement System • The CMS defines a media company’s business • Can you tweak content in a CMS to get the proper layout and presentation? • Can you use a CMS to develop a website for a project or event?
  • 4.
  • 6.
  • 7.
    Technology is communication, communication is technology
  • 8.
    What is ComputerProgramming? • Problem solving using computer code • Working with and developing algorithms to accomplish specific tasks • Web development is a type of computer programming • Combination of content, design, functionality and data • Computers are dumb, but obedient –will do what you tell them. • It’s fun! Provides a sense of accomplishment.
  • 9.
    Types of Languages • Markup languages – HTML/CSS • Compiler languages – Java, C, C++ - used for large systems • Interpreted languages – JavaScript, Python, Ruby, PHP • Data-oriented languages - SQL • Visual languages – like Scratch for kids • Web Development Frameworks – Bootstrap, Django, Rails • Libraries - JQuery
  • 10.
    Basic Coding Syntax HTML – using tags to markup text <html> <head> <title>My Website</title> <head> <body> <h1>Welcome to my website</h1> </body> </html> CSS – applying design and layout body { background: white; font-size: 12px; color: black; } h1 { font-size: 30px; color: red; }
  • 11.
    Basic Coding Syntax • Data types – string, integer, etc. • Variables – can store and reuse information x = 10; name = "Cindy";
  • 12.
    Logic: applied through if statements and loops if (age >= 18) { document.write(“You are old enough to vote”); } else { document.write(“You are not yet old enough to vote”); } x = 0; sum = 1; while (x < 10) { sum = sum * 2; x = x+1; }
  • 13.
    Functions: ability toreuse coding instructions and call when needed function addNum(x) { sum = sum + x; document.write(sum); } addNum(10);
  • 14.
    Get Started •Codecademy.com • Lynda.com • Google Charts, MyMaps and Fusion Tables • Chart.js or HighCharts • Coding meetups/hackathons in your community, like Girls Who Code, Hacks/Hackers • CodeActually.com
  • 15.
    Get Started •Introduce technology concepts: – Agile Methodologies – Design Thinking – Prototyping • Spreadsheet basics • Chartle/Wordle • Review great work

Editor's Notes

  • #2 You will not be a coder when you leave today. But I hope to give you a foundation, de-mystify some things and identify resources that will help you.
  • #7 Make a story meaningful to a user Allow user engagement with a story Find, use and present data Visualize a story Create tools to help users More educated and engaged users
  • #8 This is media’s business, and we need to be able to speak the language. The distribution platforms belong to other companies. We need to understand the dynamics. Emily Bell spoke about this at the Reuters Institute at Oxford. Her talk: Silicon Valley and Journalism: Make-Up or Break-Up I think we need to stop thinking in terms of us vs. them. We need to assimilate.
  • #16 New York Times Propublica WNYC NPR Texas Tribune My Pinterest board
  • #17 Coding is fun. Share this with your students. They are the future. The future Nate Silvers and Ezra Kleins are in our classrooms, but also the future Zuckerbergs, Mayers and Karps. We need to give them the skills and perspectives to lead, innovate and disrupt, not just work.