Difference between revisions of "Thursday Code Night"
(→SQL) |
(→SQL) |
||
(16 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
= Open Code Night = | = Open Code Night = | ||
− | This is a group that meets on Thursday nights from 6- | + | This is a group that meets on Thursday nights in the classroom from 6-8PM and sometimes beyond to learn, discuss, observe, or ignore programming and development with other people. People of all backgrounds and abilities are welcome and encouraged to attend. |
+ | |||
+ | Currently people in the group are working to learn or build projects in Python (programming language), C (programming language), SQL (database language), and Arduino (microcontroller for making digital devices), HTML/CSS (languages for developing websites), and Javascript (programming language for websites/mobile apps). This list isn't exhaustive so if your preferred language isn't listed here, come anyway and share it with us. | ||
== Resources == | == Resources == | ||
+ | |||
+ | We are compiling a list of good resources for self-teaching programming. The vast majority of the resources we list are completely free to use as long as you can summon the motivation to stick with them. Coming weekly to the meetup and finding others to take the course with you is a great way to hold yourself accountable, and to get help when you're stuck. Please let us know what resources you find especially helpful in your journey (especially if they aren't already in our list) | ||
=== Python === | === Python === | ||
− | |||
− | [https://teamtreehouse.com/home TreeHouse Python] - Treehouse charges ~$25/month but offers a 7-day free trial, and you can also get access through [http://www.lfpl.org/forms/treehouse-request.php Louisville Free Public Library] but they currently have a waitlist. Treehouse has a wider range of courses from Python for non-coders up through more advanced topics like web scraping, data science with NumPy/Pandas, building flexible websites with Flask/Django and more. They also offer other courses across a wide range of languages/technologies(Android, C#, Javascript, HTML/CSS, Databases, Java, Ruby, Swift, Go and more). | + | If you don't have much (or any) coding experience, Python is usually a good place to start (unless your primary goal is a website, then see HTML/CSS). It is the most similar to plain English, has lots of tutorials freely available online, preexisting libraries (code other people have written) to do almost anything you want, and you will be able to find more people to help when you get stuck. |
+ | |||
+ | * [https://www.edx.org/course/6-00-1x-introduction-to-computer-science-and-programming-using-python-3 MIT Python Course] - This is a free course from EdX.org and MIT that is very well done. It will be quite challenging for anyone completely new to coding, but is still doable, especially if you come to Open Code to do your homework and ask questions. It is a really great resource if you already have some experience coding but are looking to transition to Python, or if you already code in Python but would like to sharpen your abilities. It doubles as a nice intro to some computer science concepts. | ||
+ | |||
+ | * [https://teamtreehouse.com/home TreeHouse Python] - Treehouse charges ~$25/month but offers a 7-day free trial, and you can also get access through [http://www.lfpl.org/forms/treehouse-request.php Louisville Free Public Library] but they currently have a waitlist. Treehouse has a wider range of courses from Python for non-coders up through more advanced topics like web scraping, data science with NumPy/Pandas, building flexible websites with Flask/Django and more. They also offer other courses across a wide range of languages/technologies(Android, C#, Javascript, HTML/CSS, Databases, Java, Ruby, Swift, Go and more). | ||
+ | |||
+ | * [https://forums.fast.ai/t/recommended-python-learning-resources/26888 Recommended Python Learning Resources] - A really nice compilation of Python Resources. Most of these are geared at people who already have ~1 year of experience coding, so this is a great place to play around if you already feel relatively comfortable programming in some language, but would like to get better at Python specifically | ||
+ | |||
+ | * [https://www.edx.org/course/cs50s-web-programming-with-python-and-javascript Web Programming With Python and Javascript] - This is a fantastic free course from Harvard that takes you through lots of web programming frameworks and tools including HTML/CSS(Web programming languages), Flask/Django(Python web frameworks), Bootstrap/Sass(tools to make designing webpages easier), Git (Version Control), Javascript, SQL, and more. It is a lot to handle, so this is also recommended to those who have some experience coding but are new to web programming, or are looking to transition from PHP/Perl/Ruby to a Python Web Programming Stack. | ||
=== C === | === C === | ||
− | Talk to Ned, he taught himself C for doing cool stuff in the makerspace and may be able to put you on the right path. | + | |
+ | C is a lower level language than Python, which means that less stuff is done automatically, but with this comes a greater degree of control and speed. If you're interested in working on microcontrollers or robotics, C would likely be helpful to you. If you're interested in Computer Science, especially programming languages or compilers, you should give C a go. | ||
+ | |||
+ | * Talk to Ned, he taught himself C for doing cool stuff in the makerspace and may be able to put you on the right path. Nathan Armentrout (Open Code Night's Member Sponsor, is also very experienced in C) | ||
=== SQL === | === SQL === | ||
− | |||
− | |||
− | |||
− | == | + | SQL stands for structured query language and is designed for interacting with databases. It allows you to create, access, update, and search information across different databases and tables. It is usually used in conjunction with another language or application that then does something with that data (e.g. display it on a webpage). |
+ | |||
+ | * [https://sqlbolt.com/ Free Interactive SQL tutorial] - I haven't tried this out myself, but I've used another [https://regexone.com/ tutorial for regular expressions] that was made by the same person and was excellent. | ||
+ | * [http://www.cheat-sheets.org/sites/sql.su/ SQL commands list] | ||
+ | |||
+ | === Javascript === | ||
+ | |||
+ | Javascript is a scripting language that is used to create and manage dynamic web content. Do you ever see websites that have really cool/unique behavior? Odds are that javascript is controlling this behind the scenes. If you are interested in web programming and have some basic experience with HTML/CSS, Javascript might be a good next step for you. Also, recently javascript is being used to develop both iOS and Android mobile apps via a library called React Native, so if you're interested in developing your own mobile applications, Javascript might be a good skill to pick up. | ||
+ | |||
+ | * [https://www.edx.org/course/cs50s-mobile-app-development-with-react-native CS50 Javascript and React Native Course] Another free course from Harvard on EdX, this course uses hands-on projects to introduce you to modern javascript, and then moves on to React Native for mobile app development. | ||
+ | |||
+ | === Miscellaneous === | ||
+ | |||
+ | * [https://docs.google.com/presentation/d/1BZ9NHOGPzbFQAEqTl88eG6JW22QNBLtO23l2NGvLNZY/edit?usp=sharing OpenCodeNight Glossary of Terms] Do you hear people talking about remote servers/compilers/GUIs/IDEs or some other term you don't understand? Anytime someone says something you don't understand, please stop and ask, that's the easiest way. Beyond that we keep this list as a quick and dirty tech glossary for new people to get a little context and not feel so intimidated. Like anything academic, the terms sound scary, but are usually pretty simple to explain/define. | ||
+ | |||
+ | * [https://regexone.com/ Regular Expressions Interactive Tutorial] - Regular expressions are an extremely powerful way for searching text but they are also extremely scary looking '\d+[\+-x\*]\d+' is an example of a regular expression that searches for any text of the form "x+y" where x and y are numbers (e.g. 24+146). This tutorial is short and gives you interactive exercises every step of the way to build up from really simple regex's to the most complex. Note: If you've never come across regular expressions when coding, then don't do this tutorial for the sake of it. Wait until you need to use them or it won't stick in your mind. | ||
+ | |||
+ | == 2019 Meetings == | ||
− | + | * September 26th - Low turnout, probably due to DerbyPy monthly meetup at the same time. We worked mostly on web development, personal websites, and some javascript. | |
+ | * September 19th - Large turnout, with people working in groups on Python, Javascript, HTML/CSS projects and homework. | ||
+ | * September 12th - Separated into groups and worked on some data science stuff (using popular python libraries to perform analysis on [https://data.louisvilleky.gov/ Louisville Metro's Data], [https://github.com/rbracco/louisville_data/ Github repo of what we did] and we plan to build on it next week. Other groups worked on Python, front-end, and "Cracking the Coding Interview" | ||
− | + | * September 5th - Had a really good mix of people including several new students from CodeLouisville's Front End Web Dev course, a new coder who is exploring devops/docker/kubernetes, and a local React Native (javascript framework for building cell phone apps). Chris was awesome and brought hot peppers from his garden. | |
− | + | * August 29th - First Meeting. Discussed Python, (http://fast.ai fastai) and other things. The donuts were amazing. |
Latest revision as of 16:18, 13 October 2019
Contents
Open Code Night
This is a group that meets on Thursday nights in the classroom from 6-8PM and sometimes beyond to learn, discuss, observe, or ignore programming and development with other people. People of all backgrounds and abilities are welcome and encouraged to attend.
Currently people in the group are working to learn or build projects in Python (programming language), C (programming language), SQL (database language), and Arduino (microcontroller for making digital devices), HTML/CSS (languages for developing websites), and Javascript (programming language for websites/mobile apps). This list isn't exhaustive so if your preferred language isn't listed here, come anyway and share it with us.
Resources
We are compiling a list of good resources for self-teaching programming. The vast majority of the resources we list are completely free to use as long as you can summon the motivation to stick with them. Coming weekly to the meetup and finding others to take the course with you is a great way to hold yourself accountable, and to get help when you're stuck. Please let us know what resources you find especially helpful in your journey (especially if they aren't already in our list)
Python
If you don't have much (or any) coding experience, Python is usually a good place to start (unless your primary goal is a website, then see HTML/CSS). It is the most similar to plain English, has lots of tutorials freely available online, preexisting libraries (code other people have written) to do almost anything you want, and you will be able to find more people to help when you get stuck.
- MIT Python Course - This is a free course from EdX.org and MIT that is very well done. It will be quite challenging for anyone completely new to coding, but is still doable, especially if you come to Open Code to do your homework and ask questions. It is a really great resource if you already have some experience coding but are looking to transition to Python, or if you already code in Python but would like to sharpen your abilities. It doubles as a nice intro to some computer science concepts.
- TreeHouse Python - Treehouse charges ~$25/month but offers a 7-day free trial, and you can also get access through Louisville Free Public Library but they currently have a waitlist. Treehouse has a wider range of courses from Python for non-coders up through more advanced topics like web scraping, data science with NumPy/Pandas, building flexible websites with Flask/Django and more. They also offer other courses across a wide range of languages/technologies(Android, C#, Javascript, HTML/CSS, Databases, Java, Ruby, Swift, Go and more).
- Recommended Python Learning Resources - A really nice compilation of Python Resources. Most of these are geared at people who already have ~1 year of experience coding, so this is a great place to play around if you already feel relatively comfortable programming in some language, but would like to get better at Python specifically
- Web Programming With Python and Javascript - This is a fantastic free course from Harvard that takes you through lots of web programming frameworks and tools including HTML/CSS(Web programming languages), Flask/Django(Python web frameworks), Bootstrap/Sass(tools to make designing webpages easier), Git (Version Control), Javascript, SQL, and more. It is a lot to handle, so this is also recommended to those who have some experience coding but are new to web programming, or are looking to transition from PHP/Perl/Ruby to a Python Web Programming Stack.
C
C is a lower level language than Python, which means that less stuff is done automatically, but with this comes a greater degree of control and speed. If you're interested in working on microcontrollers or robotics, C would likely be helpful to you. If you're interested in Computer Science, especially programming languages or compilers, you should give C a go.
- Talk to Ned, he taught himself C for doing cool stuff in the makerspace and may be able to put you on the right path. Nathan Armentrout (Open Code Night's Member Sponsor, is also very experienced in C)
SQL
SQL stands for structured query language and is designed for interacting with databases. It allows you to create, access, update, and search information across different databases and tables. It is usually used in conjunction with another language or application that then does something with that data (e.g. display it on a webpage).
- Free Interactive SQL tutorial - I haven't tried this out myself, but I've used another tutorial for regular expressions that was made by the same person and was excellent.
- SQL commands list
Javascript
Javascript is a scripting language that is used to create and manage dynamic web content. Do you ever see websites that have really cool/unique behavior? Odds are that javascript is controlling this behind the scenes. If you are interested in web programming and have some basic experience with HTML/CSS, Javascript might be a good next step for you. Also, recently javascript is being used to develop both iOS and Android mobile apps via a library called React Native, so if you're interested in developing your own mobile applications, Javascript might be a good skill to pick up.
- CS50 Javascript and React Native Course Another free course from Harvard on EdX, this course uses hands-on projects to introduce you to modern javascript, and then moves on to React Native for mobile app development.
Miscellaneous
- OpenCodeNight Glossary of Terms Do you hear people talking about remote servers/compilers/GUIs/IDEs or some other term you don't understand? Anytime someone says something you don't understand, please stop and ask, that's the easiest way. Beyond that we keep this list as a quick and dirty tech glossary for new people to get a little context and not feel so intimidated. Like anything academic, the terms sound scary, but are usually pretty simple to explain/define.
- Regular Expressions Interactive Tutorial - Regular expressions are an extremely powerful way for searching text but they are also extremely scary looking '\d+[\+-x\*]\d+' is an example of a regular expression that searches for any text of the form "x+y" where x and y are numbers (e.g. 24+146). This tutorial is short and gives you interactive exercises every step of the way to build up from really simple regex's to the most complex. Note: If you've never come across regular expressions when coding, then don't do this tutorial for the sake of it. Wait until you need to use them or it won't stick in your mind.
2019 Meetings
- September 26th - Low turnout, probably due to DerbyPy monthly meetup at the same time. We worked mostly on web development, personal websites, and some javascript.
- September 19th - Large turnout, with people working in groups on Python, Javascript, HTML/CSS projects and homework.
- September 12th - Separated into groups and worked on some data science stuff (using popular python libraries to perform analysis on Louisville Metro's Data, Github repo of what we did and we plan to build on it next week. Other groups worked on Python, front-end, and "Cracking the Coding Interview"
- September 5th - Had a really good mix of people including several new students from CodeLouisville's Front End Web Dev course, a new coder who is exploring devops/docker/kubernetes, and a local React Native (javascript framework for building cell phone apps). Chris was awesome and brought hot peppers from his garden.
- August 29th - First Meeting. Discussed Python, (http://fast.ai fastai) and other things. The donuts were amazing.