I want to start learning programming languages for use in my occupation. What are some learning resources that would make this an effecient and worthwhile experience?
Stuff like: What occupation? Do you have a goal or application already in mind? Are there any programming-related things you can think of right now that seem fun, (writing a video game, a program to play chess, solving math puzzles, doing data analysis, etc)?
I work at the administrative level of libraries (both public and academic). Some of the jobs I seek require experience or knowledge of programming languages and the ability to work with servers and websites because the administrator must be responsible for the library’s network and site.
I have some web building experience, but little experience with programming or server use, so I want to acquaint myself with the tools necessary to maintain a library’s network and computers. For many of these positions, JavaScript, HTML, and Python make appearance alongside library specific system like MARC records (for cataloguing).
There are three different sets of skills involved in what you are talking about. I don’t know which one do you want to focus on.
There is the system administrator (sysadmin) skill set related to “the ability to work with servers and websites”—systadmins are “responsible for the library’s network and site” and they “maintain a library’s network and computers”. It mostly has to do with deep understanding of Windows and/or Unixoid operating systems and doesn’t involve that much programming per se and that mostly in shell scripts and/or swiss-army-knife languages like Perl.
There is the web developer skill set related to websites and it involves, nowadays, a mix of HTML (which is NOT a programming language), Javascript, and a database backend (usually but not always SQL).
And finally there is the programmer (err… software engineer) skill set which varies a lot depending on the context, but is generally about the ability to architect, construct, and maintain complex software systems or subsystems. Different subfields tend to use different programming languages so there is no single recommendation to be made.
Most of the positions I apply for would involve knowledge of sysadmin work and, rarely, web developer work. As you can likely tell, my position is not as the sysadmin or web developer, but rather as the manager under whom these positions work.
Yes, that’s a little different. IT frequently doesn’t entail a lot of coding by hand. There’s a lot of copying and pasting code from scripts you come across, and then editing the code to get it to run properly on your system. An introductory course in computer science will help with that, but some of the more advanced stuff you’ll encounter will simply never come up. What you really need is basic familiarity with a wide variety of different frameworks; how to browse through them to find what you’re looking for. The hard part isn’t knowing how to solve the problem; it’s knowing where to look to find the problem. On the web development side, you will want to see what content management system your company is using and learn how that CMS functions. You can use builtwith.com to figure it out if you don’t already know. For each language or framework, make sure you focus on just the basics before moving onto a new one. If you try to go in-depth with all of them you’re never going to get through it all. When you have to do something in that language, just open up a cheat sheet for it, and use that to guide you.
Learn Python the Hard Way is a pretty solid resource, though I used it before Codecademy came out. Both are excellent practice-based resources for starting programming.
After that, just get python books and work through them. Tools like Flask and Django if you want to do web development, other stuff if you want to do other stuff. If you don’t know if you
Stackoverflow is usually where google will take you when you look for answers to your questions, so you might as well bookmark it.
And if you don’t have something in mind you want to make, but you want to keep practising, try doing some ProjectEuler problems.
My occupation is library administration. My specific interest is that many of the administrative positions I am looking at require some knowledge of programming in order to maintain the library’s network. So, what I would be working with would be an organization-wide network (the organization being either small scale or multi-branch with each branch being small in scale).
If you’re interested in learning web development, I’ve been going through a great resource called The Odin Project. It pulls together a bunch of different free resources to take you from knowing nothing to being hired.
Learning programming languages:
I want to start learning programming languages for use in my occupation. What are some learning resources that would make this an effecient and worthwhile experience?
Can you give some more background?
Stuff like: What occupation? Do you have a goal or application already in mind? Are there any programming-related things you can think of right now that seem fun, (writing a video game, a program to play chess, solving math puzzles, doing data analysis, etc)?
Certainly.
I work at the administrative level of libraries (both public and academic). Some of the jobs I seek require experience or knowledge of programming languages and the ability to work with servers and websites because the administrator must be responsible for the library’s network and site.
I have some web building experience, but little experience with programming or server use, so I want to acquaint myself with the tools necessary to maintain a library’s network and computers. For many of these positions, JavaScript, HTML, and Python make appearance alongside library specific system like MARC records (for cataloguing).
There are three different sets of skills involved in what you are talking about. I don’t know which one do you want to focus on.
There is the system administrator (sysadmin) skill set related to “the ability to work with servers and websites”—systadmins are “responsible for the library’s network and site” and they “maintain a library’s network and computers”. It mostly has to do with deep understanding of Windows and/or Unixoid operating systems and doesn’t involve that much programming per se and that mostly in shell scripts and/or swiss-army-knife languages like Perl.
There is the web developer skill set related to websites and it involves, nowadays, a mix of HTML (which is NOT a programming language), Javascript, and a database backend (usually but not always SQL).
And finally there is the programmer (err… software engineer) skill set which varies a lot depending on the context, but is generally about the ability to architect, construct, and maintain complex software systems or subsystems. Different subfields tend to use different programming languages so there is no single recommendation to be made.
Thank you kindly for the break down.
Most of the positions I apply for would involve knowledge of sysadmin work and, rarely, web developer work. As you can likely tell, my position is not as the sysadmin or web developer, but rather as the manager under whom these positions work.
Yes, that’s a little different. IT frequently doesn’t entail a lot of coding by hand. There’s a lot of copying and pasting code from scripts you come across, and then editing the code to get it to run properly on your system. An introductory course in computer science will help with that, but some of the more advanced stuff you’ll encounter will simply never come up. What you really need is basic familiarity with a wide variety of different frameworks; how to browse through them to find what you’re looking for. The hard part isn’t knowing how to solve the problem; it’s knowing where to look to find the problem. On the web development side, you will want to see what content management system your company is using and learn how that CMS functions. You can use builtwith.com to figure it out if you don’t already know. For each language or framework, make sure you focus on just the basics before moving onto a new one. If you try to go in-depth with all of them you’re never going to get through it all. When you have to do something in that language, just open up a cheat sheet for it, and use that to guide you.
I see. Thank you for the explanation and the link.
In addition to what is4junk suggested, you might want to check out Codecademy.
Thank you kindly for the link.
Learn Python the Hard Way is a pretty solid resource, though I used it before Codecademy came out. Both are excellent practice-based resources for starting programming.
After that, just get python books and work through them. Tools like Flask and Django if you want to do web development, other stuff if you want to do other stuff. If you don’t know if you
Stackoverflow is usually where google will take you when you look for answers to your questions, so you might as well bookmark it.
And if you don’t have something in mind you want to make, but you want to keep practising, try doing some ProjectEuler problems.
Thank you kindly for the suggestions.
What is your occupation and what are you looking to program?
My occupation is library administration. My specific interest is that many of the administrative positions I am looking at require some knowledge of programming in order to maintain the library’s network. So, what I would be working with would be an organization-wide network (the organization being either small scale or multi-branch with each branch being small in scale).
Coursera and edx have several free courses.
https://www.coursera.org/ https://www.edx.org/
Thank you kindly for the links.
Code Academy: http://www.codecademy.com/
Harvard’s CS50 course: https://cs50.harvard.edu/
You can also take CS50 through edX, which grants certificates: https://www.edx.org/course/introduction-computer-science-harvardx-cs50x#.VJjeyf8AAA
Thank you very much for the links.
If you’re interested in learning web development, I’ve been going through a great resource called The Odin Project. It pulls together a bunch of different free resources to take you from knowing nothing to being hired.
Thank you for the resource. It is a very interesting one.