We may earn an affiliate commission when you visit our partners.
Course image
Christopher Michael

Are you a creative or entrepreneur that wishes you could speak tech with your web development team? Maybe you wish you could code a bit yourself? 

Read more

Are you a creative or entrepreneur that wishes you could speak tech with your web development team? Maybe you wish you could code a bit yourself? 

Programming for Non-Programmers is online course designed to help non-programmers communicate more efficiently with developers. 

Because leading a development team (without being a developer yourself) can sometimes feels like “talking about dancing”, I've created an interactive and easy to follow environment in which to learn the basics. 

And for developers just getting started, think of this as the primer to help kickstart your career. 

If you're running a tech start-up, it's essential that you familiarize yourself with the fundamentals of web development. Ultimately knowing how to "talk to the talk" will help you communicate better with developers, and overall just look really cool. 

What You'll Learn  

In this course we'll tackle some development principles to get you on the right path. We'll look at questions like, "Front-end vs. Back-end?", "Is UX necessary for my project?", "What is this Javascript function thingy, and why am I passing it strange math equations to it?". 

  • What coding languages should I use for my next project?

  • Which CMS is right for the job?

  • What are the stages of web development?

  • What deliverables do I need to provide my developer? (FYI - This is important and often neglected or done poorly)

  • Reading code & basic developing principles to get us started

  • Key concepts of programming that are the found in every programming language

  • Understanding Javascript Variables & Logic

Looking for corporate training? 

I'm based in New York City, and available to bring my workshop Programming for Non-Programmers to your company. Past clients include: American Express 

Email me chris[at]onemonth .com for details. 

Live Support. (I'm Here To Answer Your Questions) 

I'm available for questions to all students taking the class. By joining the class you gain access to message me through email. And if for any reason you are not satisfied with the material, I will gladly refund you myself. No questions asked. 

Best of luck. Chris  Teacher at OneMonth . comHost of the "LEARN TO CODE in ONE MONTH PODCAST"Adjunct Professor at Columbia University Business School

"I've traveled a steep learning curve thanks to Chris' friendly and lucid style of teaching." - Charles Best, CEO of DonorsChoose

"I wish I had taken this class 5 years ago. " - Michael Goodwin, UX Designer 

"Informative, digestible, actionable" - Katherine, Entrepreneur 

"An So far you're the only one who has been able to teach me how to code." - Darren Hakimi, Analyst 

"You are articulate and engaging. Broad and diverse range of topics. Not easy to address so much in limited time." - student feedback 

Even for a non tech person like me (who yes, has 50,000 emails in her inbox and actually thinks thats totally normal), I was able to keep up. My intent was to get a good overview of what the heck programming actually is, and better understand the language/terms associated with it.  I  certainly got that.  I also appreciated your passion for teaching. I will absolutely recommend the class to my friends. - Debra-Ellen Glickstein,  Entrepreneur 

Enroll now

What's inside

Learning objectives

  • Understand the web development process
  • Make better hiring and product decisions: ux, information architecture, design, development
  • Explain concepts like apis, cmss, and iphone development in plain english
  • Understand which programming language to choose for your project
  • Develop a basic html/css/js template
  • Understand how to better communicate your startup idea to developers

Syllabus

Why Programming?
Promo Video
A programming language is a set of steps, that we use to solve a problem. Let's see that in action! 
Let's be honest. Do you even need to be learning this stuff? Can't you just hire someone to do it for you? 
Read more
What problem are you trying to solve? Tips on how we can think more like a developer. 
The Web Development Process (aka. Focusing in on the problem at hand)
"The Web, Mobile Web, Native Apps"... let's get clear about what we mean when we are using these terms. 
Planning our project! 
Let's not spend $100,000 developing an iPhone app before we've done our homework. Product Development will help give us some tools to test whether our idea floats. 
Who are our users? And how does this information impact hiring and tech decisions. In this section we introduce the basics of User Experience (UX) and highlight real life examples from Chris's work experience. 
We have our idea all fleshed out. Now how do we communicate it to the developer? In this lecture we highlight some best practices for wireframing and content strategy. 
The visual designer brings the wireframes to live. CMYK vs. RBG!? Pixels? Let's take a look at how to get started. 
Front-end vs. Back-end? What are the responsibilities of these developers? 

Which Language? (aka. Understanding the tools)
You may be thinking, "Why are there so many languages!?" and  "Which one should I choose for my project?" Also, would you believe that there is ONE programming language that every computer can read. Watch this lecture to find out! 
Facebook is built with PHP. Twitter uses Ruby. Google uses Python. Why!? And what's the difference between these 3 languages?  
In this lecture I present you with 4 projects from my real world experience, and ask you to choose the programming language. Think you know enough yet? The Black Eyed Peas, Derby Jackpot, The Story Studio and more. We'll look at the technology, and an info graph of the hours spent developing each. 
Native Mobile Apps use different programming languages than on The Web. Let's take a look! 
Let's looks at responsive design and some tools for testing whether a site is responsive. 
What CMS is right for the job? In this section we take a look at Wordpress, Expression Engine, and a few other CMS options to help us make better choices  
C++, Node.js and .NET. How do these fit into the mix? 
These are terms that sound like they are programming languages. Things like FTP and GIT. You might even confuse them as being a language. But they're not. So let's make sure we're clear. 
Have you ever heard someone say something like, “The NY Times has an API we can use.”? What they are saying is "The NY Times has some data that you can freely access and use in your project." In this section we demystify the API. 
Tech Stack. Twenty lectures ago this wouldn't have made any sense. But now that we're familiar with the landscape of languages and platforms, the concept of Tech Stack will pull all of that goodness together into one digestible chunk. (and from there... BLOW your mind) 
Trust me on this one. It'll make sense. (Please don't watch this until you've watched all the other videos prior.) 
Lets Code (aka. Solving the Problem)
We'll go to http://www.sublimetext.com  to download, and then install Sublime Text
Getting started with HTML (even if you've coded HTML before you should watch this video... as we'll tackle relevant concepts and best-practices) 
CSS is the style of our page. CSS itself even stands for Cascading Style Sheets!
JavaScript: Events
Every language has the ability to write comments. Find out how, and why. 
JavaScript helps add "logic" to our code. And when we're ready to see the output, we need to "print" to the screen. 
Warning: this starts with a quiz. Ok you've been warned. Proceed. 

Whoa. We learned a lot. Let's do a brief recap of the past section, and talk about where you can find some resources to continue learning after this class. After this course, the next step in the process is my "OneMonth HTML" course available at OneMonth. Check it out, and let me know if you have any other questions! 

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops a basic understanding of web development principles and concepts, which is an essential foundation for beginners
Provides an introduction to various programming languages and helps learners understand their use cases and differences, which assists in making informed choices for projects
Teaches HTML, CSS, and JavaScript, which are core web development languages, enabling learners to develop a basic HTML/CSS/JS template
Examines the stages of web development, which is instrumental for planning projects and understanding the overall development process
Emphasizes effective communication with developers, which is crucial for designers and entrepreneurs to convey their ideas clearly
Introduces various tools and concepts such as APIs, CMSs, and iPhone Development, providing a broad overview of the industry

Save this course

Save Programming For Non-Programmers: Fundamentals to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Programming For Non-Programmers: Fundamentals with these activities:
Review basic programming concepts
Strengthen your foundation in programming by reviewing basic concepts.
Browse courses on Programming Concepts
Show steps
  • Identify areas where you need to refresh your knowledge.
  • Find resources such as online tutorials, books, or courses.
  • Practice solving simple programming problems.
  • Attend a workshop or lecture on the topic.
  • Discuss the concepts with peers or a mentor.
Read 'The Pragmatic Programmer'
Gain insights and best practices for software development by reading this classic book.
Show steps
  • Purchase or borrow the book.
  • Set aside dedicated time for reading.
  • Take notes and highlight important concepts.
  • Reflect on how the principles apply to your own work.
  • Discuss the book with colleagues or mentors.
Join a study group or coding club
Enhance your learning by collaborating with peers in a study group or coding club.
Browse courses on Collaboration
Show steps
  • Find a group that aligns with your interests and skill level.
  • Attend regular meetings and participate actively.
  • Work together on projects and assignments.
  • Share knowledge, ideas, and resources.
  • Provide support and encouragement to other members.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Create a basic HTML/CSS/JS template
Reinforce your understanding of the basics of HTML, CSS, and JavaScript by creating a simple template.
Browse courses on HTML
Show steps
  • Set up your text editor and create a new HTML file.
  • Add basic HTML structure, including the <head> and <body> tags.
  • Add CSS styles to style your elements.
  • Add JavaScript code to add interactivity or functionality.
  • Test your template in a web browser.
Attend a workshop on web development tools
Enhance your knowledge and skills by attending a workshop on web development tools.
Browse courses on Web Development Tools
Show steps
  • Research and find a workshop that covers relevant tools.
  • Register for the workshop and prepare any necessary materials.
  • Attend the workshop and actively participate in discussions.
  • Take notes and document key takeaways.
  • Follow up with the workshop organizers or speakers to connect and learn more.
Build a simple website using Django
Develop your web development skills by building a simple website using the Django framework.
Browse courses on Django
Show steps
  • Install Django and set up a new project.
  • Create your models and views.
  • Design your templates.
  • Add functionality and interactivity.
  • Deploy your website.
Participate in a hackathon
Challenge yourself and gain practical experience by participating in a hackathon.
Show steps
  • Find a hackathon that aligns with your interests.
  • Form a team or work independently.
  • Develop a project within the given time frame.
  • Present your project to a panel of judges.
  • Network with other developers and industry professionals.
Contribute to an open-source project
Gain practical experience and contribute to the community by working on an open-source project.
Browse courses on Open Source
Show steps
  • Find a project that aligns with your interests and skills.
  • Read the project's documentation and codebase.
  • Identify an area where you can contribute.
  • Submit a pull request with your changes.
  • Collaborate with other contributors and maintainers.

Career center

Learners who complete Programming For Non-Programmers: Fundamentals will develop knowledge and skills that may be useful to these careers:
Mobile Developer
Mobile Developers design, develop, and maintain mobile applications. They work on a variety of different platforms, such as iOS, Android, and Windows Phone. Mobile Developers typically specialize in a particular area, such as front-end development, back-end development, or full-stack development. A background in Programming Fundamentals is very useful for this role, as it can help you learn the basics of mobile development. This course can help you develop a strong foundation in programming concepts, which will be helpful for any type of mobile development job.
Software Developer
Software Developers design, develop, and maintain computer software. They work on a variety of different projects, from small mobile apps to large enterprise systems. Software Developers typically specialize in a particular area, such as web development, mobile development, or database development. A background in Programming Fundamentals is very useful for this role, as it can help you learn the basics of programming and software development. This course can help you develop a strong foundation in programming concepts, which will be helpful for any type of software development job.
Web Developer
Web Developers design, develop, and maintain websites. They work on a variety of different projects, from small personal websites to large e-commerce sites. Web Developers typically specialize in a particular area, such as front-end development, back-end development, or full-stack development. A background in Programming Fundamentals is very useful for this role, as it can help you learn the basics of web development. This course can help you develop a strong foundation in programming concepts, which will be helpful for any type of web development job.
Business Analyst
Business Analysts work with businesses to analyze their processes and systems and identify opportunities for improvement. They use a variety of different techniques to gather and analyze data, such as interviews, surveys, and data analysis. Business Analysts typically specialize in a particular area, such as process improvement, systems analysis, or data analysis. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of business analysis and how to use data to improve business processes.
Database Administrator
Database Administrators design, implement, and maintain databases. They work with a variety of different database technologies, such as SQL, NoSQL, and cloud-based databases. Database Administrators typically specialize in a particular area, such as database design, database performance, or database security. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of database systems and how to design and manage databases effectively.
Data Scientist
Data Scientists use data to solve business problems. They work with a variety of different data sources, such as structured data, unstructured data, and big data. Data Scientists typically specialize in a particular area, such as data analysis, data mining, or machine learning. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of data science and how to use data to solve business problems.
Computer Hardware Engineer
Computer Hardware Engineers design, develop, and test computer hardware components, such as processors, memory, and storage devices. They also work on the design of computer systems, including the layout of the system board and the integration of different hardware components. A background in Programming Fundamentals may be useful for this role as it can help you understand the relationship between hardware and software, and how to design hardware that is efficient and reliable.
Project Manager
Project Managers are responsible for planning, executing, and closing projects. They work with a variety of different stakeholders, such as team members, clients, and vendors, to ensure that projects are completed on time, within budget, and to the required quality standards. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of project management and how to manage projects effectively.
Product Manager
Product Managers are responsible for the development and management of products. They work with a variety of different stakeholders, such as engineers, designers, and marketers, to ensure that products meet the needs of customers. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of product development and how to manage products effectively.
Computer and Information Research Scientist
Computer and Information Research Scientists conduct research to advance computing and information technology. This research can lead to the development of new computer hardware and software, as well as new ways to use computers to solve problems. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of computer science and how computers work.
Computer Network Architect
Computer Network Architects design and implement computer networks. They work with a variety of different stakeholders, such as engineers, designers, and marketers, to ensure that computer networks are reliable, secure, and efficient. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of computer network architecture and how to design computer networks that are effective and efficient.
Technical Writer
Technical Writers create and maintain documentation for a variety of different products and services. They work with a variety of different stakeholders, such as engineers, designers, and marketers, to ensure that documentation is accurate, clear, and easy to understand. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of technical writing and how to create documentation that is effective and useful.
User Experience Designer
User Experience Designers design and evaluate the user experience of products and services. They work with a variety of different stakeholders, such as engineers, designers, and marketers, to ensure that products and services are easy to use, enjoyable, and effective. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of user experience design and how to create products and services that are user-friendly.
Information Architect
Information Architects design and organize the structure and content of websites, intranets, and other information systems. They work with a variety of different stakeholders, such as engineers, designers, and marketers, to ensure that information is easy to find, understand, and use. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of information architecture and how to design information systems that are effective and useful.
Computer Systems Analyst
Computer Systems Analysts analyze and design computer systems. They work with a variety of different stakeholders, such as engineers, designers, and marketers, to ensure that computer systems meet the needs of businesses and organizations. A background in Programming Fundamentals may be useful for this role, as it can help you understand the underlying principles of computer systems analysis and how to design computer systems that are effective and efficient.

Reading list

We've selected 11 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Programming For Non-Programmers: Fundamentals.
Great introduction to web development. It covers the basics of HTML, CSS, and JavaScript.
Great introduction to JavaScript. It covers the basics of the language and how to use it to create interactive web pages.
Classic work on computer science. It covers a wide range of topics, from the basics of programming to advanced algorithms and data structures.
Great resource for learning about data structures and algorithms in Java. It covers a wide range of topics, from the basics to advanced algorithms.
Great resource for learning about design patterns. It covers a wide range of topics, from the basics to advanced patterns.
Great resource for learning about test-driven development. It covers a wide range of topics, from the basics to advanced TDD techniques.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Programming For Non-Programmers: Fundamentals.
The Complete Salesforce Development Course
Most relevant
The Complete 2024 Web Development Bootcamp
Complete C# Masterclass
iOS Development Kickstart: Craft Your First App With...
Python For Beginners: Learn Python With Hands-On Examples
The Startup Founder's Guide to Bubble Programming
Node.js: The Complete Guide to Build RESTful APIs (2018)
Akka Streams with Scala | Rock the JVM
100 Days of Code: The Complete Python Pro Bootcamp
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser