Coding 101 69 (Transcript)
Net casts you love from people you trust. This is Twit! Bandwidth for Coding 101 is brought to you by Cache Fly at cachefly.com.
Coding 101 is brought to you by Lynda.com, the online learning platform with over 3000 online video courses to help you strengthen your business, technology and creative skills. For a free 10 day trial visit Lynda.com/c101. That’s Lynda.com/c101.
And by Digital Ocean, simple and fast Cloud hosting built for developers. Deploy an SSD Cloud server in 55 seconds. Try it today for free, visit digitalocean.com and once you sign up be sure to enter the promo code c101 in the billing section for a $10 credit.
Father Robert Ballecer: Today on Coding 101 we bring you another wild card episode. We’re taking to Peggy Fisher. Hello and welcome to Coding 101. It’s the show where we let you into the wonderful world of the code warrior and code monkey. I’m Father Robert Ballecer the digital Jesuit and joining me as always is my super special permanent co-host, Mr. Lou Maresca. Lou, I just can’t give up the really cool title. We’re just going to have to change that every episode. How are you doing?
Lou Maresca: Doing well, thanks for having me back. Keep changing it every episode, we’ll get there.
Fr. Robert: It is code warrior right now but at some point that title is going to change to permanent super special geeky co-host but we’ll worry about that later. This is a special episode for us. We do like to stop in between our modules. We were just talking a little bit about Swift, we were taking a little bit about Ruby. We like to clear the palate as it were between programmers, between programming modules by speaking with programmers who we find particularly inspiring or their stories compelling. So we bring onto the show Ms. Peggy Fisher. Peggy, thank you very much for joining us on Coding 101.
Peggy Fisher: You’re welcome Father, no problem. I’m happy to be here.
Fr. Robert: I should say Peggy does do work for Lynda.com. Let’s get that disclaimer out of the way. But I actually reached out to them; I’ve been trying to get a few of the programmers that Lynda.com has in their stable onto Coding 101. We’re always worried a little bit about conflict of interest but eventually it came down to no, this is a person who has a great story that I think our audience will like and they agreed. So thank you very much for coming onto the show.
Peggy: No problem.
Fr. Robert: Let me ask you this; you have a very interesting back story of how you got to where you are today. No I don’t want to spoil too much of it, I do want to let you the narrative out there but you did start off programming for an insurance company?
Peggy: When I went to school for my undergrad I actually majored in computer science and when I graduated I got a job at an insurance company, at Prudential Insurance. I was hired on as a programmer. I programmed in Cobol and it’s kind of interesting now because later in my life now I teach programming and I don’t think any of my students know what Cobol is. Cobol is a main frame programming language and that’s where I started my career and learned a little bit about CICS along the way. That’s what you called the gooey of Cobol – the CICS is the front end portion of the big main frame systems. That was the start of my career.
Fr. Robert: Cobol, that brings me back, way, way back. Let’s take a step back before that. What got you into computers in the 1st place?
Peggy: You know it’s really interesting. I think I was just at the right place at the right time. My senior year in high school they actually got their 1st computer. So this is back in – I hate to say this because you’re going to know how old I am but this is back in 1979. The school year of 79/80, I graduated in 1980. So they got their 1st computer and it only took tapes. But we got a chance to actually use it because I really, really loved math. I thought math was fun, especially algebra. So my love for math got me into a class that allowed me to take a little bit of computer also. When I was trying to decide what to do in college I was like well I really love math, I really like programming, and I thought that was fun. So I decided to go for programming. I wanted to be a math teacher at 1 point but when I kind of weighed computer science and the money I’ll earn and teaching math and the money I’ll earn I went for computer science as an undergrad. So that’s how I got there. I was very fortunate that I was at the right place in high school at the right time to take that step forward.
Fr. Robert: You know Peggy it’s interesting because 1 of the themes that we’ve had running on this show is we’ve had master programmers who tell us that you can’t just decide that you want to be a programmer for the money. It doesn’t work that way. But what’s interesting about your story is you got into computers and then you had to decide well do I do it out of my passion or do I do it because I need to make the money? That’s a different kind of decision. But let me jump off the rails really early just so people don’t think we’re going to stray off the path we intended for the show. You used reel to reel tapes. I was also of a generation that had reel to reel. I still had a couple of computers that used punch cards.
Peggy: I was going to say I used that in college.
Fr. Robert: But that whole era was a time when we didn’t really know what discipline this new technology, this new computer science fit into. Some said it was all mathematics, some said it belonged with the engineering discipline and it belonged someplace else. That’s really when this whole idea of computer science started to shape up and become its own thing. Were you caught up in a lot of that?
Peggy: You know I think I was lucky enough that a lot of that was already decided. Because when I went to like I said for undergrad for computer science it was pretty much set up. It was more technical though. Like today I think there’s a whole other branch of information science and technology that is more what I learned. But today computer science I think is a lot more architecture type of information. Like getting data all the way down to assembly language. Where I think there’s now like 2 phases. You’re either like a business programmer or you’re a technical programmer. But I think I skipped that kind of in between that you’re talking about.
Fr. Robert: Yes. Cobol…I did not like Cobol at all. What was it like? Did you program in Cobol for 18 years?
Peggy: No I started out as a programmer and then I worked my way to a systems analyst and to a manager and actually after my 18 years I was 1 of the directors at Prudential. So I was in more of a management role by that time. But I did like Cobol programming. It’s funny, it’s a different beast definitely. It’s very linear, it’s not object oriented, it is very sequential. But at the time it was pretty much the only thing. For me it was the really cool thing of whether I had punch cards or typed into the computer, taking it to the computer room, having them run it and then see the results. Like that whole idea of hey, I did this. I made this happen, I made this report come out. And problem solving, I love to solve problems. I love to do puzzles and to me programming is like a giant puzzle that you’re just trying to solve.
Fr. Robert: Let’s talk about that programming as a giant puzzle because… We had Steve Gibson on a while back and he was talking about foundational knowledge and it was that whole thing about what brings you into a computer science discipline, what brings you into an engineering discipline? And especially what brings you into a mathematics discipline and it has to be an underlying desire to figure out puzzles. You have to love puzzles. They have to be ultimately rewarding to you, otherwise you lose interest very quickly in the discipline.
Peggy: Yes. I totally agree with that. I’ve always been kind of like a puzzle or problem solver. That’s my strongest skill I think. I really believe that. When I learned Cobol since that time I’ve never formally been taught any language but since I had that Cobol experience and I know how to solve the problem of how do I read from a file, how do I calculate the data and then make the output happen… Those skills have allowed me to learn so at this point I feel comfortable with C, C++, C Sharp, XNA, HTML, Java Script, Java and Python I just recently learned. I think that those skills are transferable to any other programming language that I’ve encountered so far. It’s like you said, so the puzzle there is ok, I’m going from Java to C++, my puzzle is what syntax does C++ have that’s different than what Java had to do the same thing? Because ultimately we want to be able to process data, we want to be able to interact with the computer but what language it is doesn’t really matter. It’s kind of a puzzle to figure out; ok here’s my language, how can I make it work?
Fr. Robert: That was 1 of the puzzle pieces that we had to deal with when we put together Coding 101 in the 1st place because people wanted to know what language we were going to program in and I said well I want to program in all of them. I want to have all the languages as part of the show.
Fr. Robert: They didn’t get it, they said well how can you teach programming in 4 week chunks? But as you said so much of that knowledge transfers over and once people watch 1 module, 2 modules, 5 modules they start to say oh I get it. It’s just the language, the logic behind it stays the same.
Peggy: Exactly. I try to tell people that. Once you get the logical thinking down and you understand basically that these computers – I always tell my students that they’re really dumb and they’re going to do whatever you tell them to do and you’ve got to tell them the right steps to be able to figure out the puzzle that you’re giving it. Whether you use Java or C++ is not going to matter but you’ve got to figure out what those steps are first.
Fr. Robert: Lou let me ask you a quick question here. You heard Peggy talk about the languages that she’s very comfortable with. Every professional programmer has at least how many; 3-4 primary languages and then maybe another 6-7 that you know enough to code around in?
Lou: I think Peggy pointed it out, it’s really dependent on what generation you come in at. I think now days the really popular languages are the high level languages like C Sharp and Java and even higher than that like Java Script. Learning those things you tend to learn more about those languages that you use most often and become more of an expert in those languages and then you know – maybe have to go back and do other things in other languages that some projects might require. Or you might do it to get better performance and that kind of thing. So yes I think you’re right, I think you tend to kind of hone in on 1 specific or a couple of specific languages and then try to transfer. Peggy I actually had a question on that. Do you feel that even your students sometimes struggle where they do know a lot about logic and how to program but when they need to transfer to a different language it is really like the ramp up the onboarding of that language, learning the different tool sets, the new gooeys and how to get things composite…do you think that’s a challenging part when you’re moving to different languages?
Peggy: Yes you’ve got it Lou. That’s exactly it. You go from let’s say C Sharp to Java, the gooey if you’re going to do gooey is drastically different and you need to know in Java 1st of all what IDE am I going to use (integrated developmental environment) and then from there what tools does that IDE have for me to do a gooey in Java. You’re right, sometimes the APIs and understanding what an API is – you don’t use that too much in C Sharp as much as you do in Java program, so getting them to understand that as well. I think you have a valid point there.
Fr. Robert: Peggy let me ask you a little bit on this. Again let’s go back to that 18 years that you spent programming for an insurance company. Eventually you ended up as the director of information technology. 1 of the members of our chatroom, (I think it was Vince 360) he jokingly said well I’m in programming for the glory. Which anyone who has been programming knows that there is no glory.
Peggy: I was going to say, what glory?
Fr. Robert: Actually there may have been a time at the very early stages where you could have a programmer who said I wrote this, I created this. But it has been decades since that’s been the case. You’re always working with somebody else, you’re always reiterating someone else’s work. Even though he was joking that’s 1 of those warnings that we try to give students which is again it has got to be about the passion. Because if you think that you’re going to get famous doing this…no.
Peggy: No you are so right. I’ve known several people that have continued in the programming field but you do have a feeling there and they don’t look at you and say woo there’s Lou “Super Programmer”. It definitely is like you said you have to have the passion for it. If you do and you want to keep doing it that’s great. My passion I think, the way that I satisfy it is by learning new languages. Because I think if I like you said earlier, if I had to stick with Cobol up to this point… now I’ve been in the working field for 30 years. I don’t know that I would have wanted to stick with Cobol for 30 years. My passion is still programming but it turned into teaching programming as well.
Fr. Robert: We’re going to be speaking with Peggy a little bit about that passion, that transition of passion in just a bit but before we get to that and Peggy let’s tease them a little bit. After these 18 years and after getting that director of IT, that position that a lot of our audience would love to have, you decided to throw it all away. Well not necessarily throw it all away but you decided to walk away from it to do something that you were more passionate about which again is 1 of the reasons why I wanted you as a guest because that is something I respect so much. But before we talk about that let’s go ahead and thank the 1st sponsor of this episode of Coding 101. Now folks, let’s be honest, if you want to know something and it doesn’t have to be programming…it could be about business software, it could be about business skills, it could be about your latest and greatest hobby; you need to go to a place that teaches you the things you want to learn at the pace that you want to learn them. Well you could jump from sight to sight and person to person and there’s plenty of good outlets for knowledge on the internet. Or you could go to the place that I go to – the 1 stop shop, the repository of knowledge – Lynda.com. Lynda.com isn’t just about taking all that knowledge and putting it together in 1 place. They’ve actually put the grunt work into making sure that they offer you the material in a way that is most beneficial to your learning. They understand that you need to work at your own pace. They understand that you need to take the courses that you want to take. They understand that they should use proper lighting and camera and audio work so that doesn’t distract from the lesson at hand. Lynda.com is for problem solvers, for the curious, for people who want to make things happen. Maybe you want to learn a new programming language, take better photos, master Excel or sharpen your HTML skills. Lynda has the course that you need, that your curious mind longs for. Some of the new Lynda.com courses that I recommend are PHP with my sequel essential training, no sequel for SQL professionals, CSS Selectors and developing Android Apps Essential Training. Lynda.com also has great courses on programming iOS apps and a Swift programming language if you want the latest and greatest from Apple. We’ve been using Lynda.com here on several different occasions. I use it when I’m trying to develop new programs for Know How, when I want to show people how to do professional photography. We use it here in the studio because we switched over from the Mac with Final Cut Pro to the PC with Premier. We needed a reference we could go to which is one of the things I like so much about Lynda. They offer you transcripts of all the courses so you don’t have to sit through an entire long module. You could find the piece of video that has the answer to your question and go straight there. With Lynda.com you can watch and learn from top experts, people like Peggy who are passionate about teaching. You can stream thousands of video courses on demand and learn on your own schedule. You can learn at that pace that your brain needs to absorb the information and like I said you can browse the transcripts, take notes as you go and refer to them later. You can even make a play list so you can set up a queue for your knowledge and maybe even share it with your friends and create tutorials that you’ll be using on your own time. Take them offline on your iOS and Android device so you can learn in your free time. Maybe in your down time between meetings or at the office. Your Lynda.com membership gives you unlimited access to training on hundreds of topics and I can’t recommend it enough. It’s all for 1 low flat rate and it is so easy to get started. Whether you’re looking to become an expert or you’re passionate about a hobby or if you just want to learn something new (I know you do because you’re watching Coding 101) I want you to visit Lynda.com/101 and sign up for your free 10 day trail. That’s Lynda.com/c101. We thank Lynda for their support of Coding 101. Peggy let’s get back to you. You got this career that you’d been developing for almost 2 decades, you are near the top of your field, you’ve become the director of IT and then you say no this is not what I want to do with my life. What was that all about?
Peggy: It’s so funny when you’re able to look back and summarize things like that because it really is like what did you do? It was a great field to be in and it was a great company to work for and as you said I worked really hard to get to where I was but at that point… and a lot of you that are listening and Father probably you know this too that at that point you need to put in 50-60 hours a week to do a good job in that role. I had just met my husband, we were just starting our life together and I was having to leave for weeks at a time to stay up in North Jersey to be able to run some projects that I was working on up there. I realized that although I really liked it my quality of life needed a change. But I think really what happened was that the passion inside of me to share my love of programming and my love of math with other… I had been going back to school to get my masters in math education and at that point I’d finished it. We moved to a very rural area of central Pennsylvania and I was fortunate enough to…I spent 1 year as a director of IT for a country but then right after that I got a full time job teaching high school and I did that for 10 years. Ithink it was a matter of passion and quality of life that made me kind of say alright I did this, I’m really happy, I’m proud of myself but now it’s time for a change.
Fr. Robert: That just blows me away. There are few people I know who have stories like that and I respect them so much – where they had something that was paying for them. It was a good living and they somehow said this is ok but it’s not what I really want. As you said you made that decision at the beginning; do I go into computer science or do I stick with my passion to teach mathematics and you did the computer science thing for 18 years and at that point it is so hard to make the switch. It must have felt incredibly vulnerable for you.
Peggy: It really did but I had my faith and I believed in…things just fell into place. It was really cool. I found the intermediate job, the director of IT for a year and then I… The other thing I want to say too and I strongly encourage people to have confidence in themselves because when we moved I made a point of introducing myself to the superintendent of the school district and had a meeting with him and just said I’m new to the area. I really want to teach and by putting myself out there whether it was for the teaching at the high school, the teaching at the college or even the Lynda.com those are all things that happened because I was willing to take that risk. I think that 1st step that you’re talking about here when I went from the 18 years to the county that gave me the strength to try is over and over again and it has always worked for me. I really encourage people to try it.
Fr. Robert: Brave, just very brave. Let’s give a bit more back story. As you said you had been earning your master’s degree in mathematics, math education, you completed that and then you started teaching high school and not too long after that you started in 2012 I believe, you took a position at Penn State for Intro to Application Programming with Java.
Fr. Robert: How long was this transition period between you being an administrator and you just feeling comfortable as an instructor?
Peggy: You mean at the university or from when I went to the high school 1st?
Fr. Robert: Both.
Peggy: The transition to the high school was probably the scariest. I was really afraid the kids were going to eat me alive. I was really apprehensive but what I found was that I got to know all the individual students. I learned a little bit about them personally and I showed that I’m human too. When I made a mistake I admitted it and the transition to the high school after the 1st month or 2 I realized this is going to be ok, I can do this and the kids respected me. I believe they liked me and I felt really good about what I was teaching. I had gotten like I said my master’s in math education so I felt like I had a good background in how to write the curriculum and how to present the information. But I really was worried about how the kids would accept me. I was older and I just wasn’t sure what it was going to be like.
Lou: Peggy real quick, when you actually taught these students what kind of ramped them up and got them to program or pick up programming faster? Was there any patterns that you saw? Was it may be giving them projects? What was your curriculum that you tried to follow to kind of get them ramped up quickly?
Peggy: That’s a great question Lou. When I was teaching programming in the beginning I kind of took over somebody else’s and I was kind of doing the “ok let’s start with chapter 1”. I don’t know if you notice this but every programming book has the history of computers as chapter 1. Now I don’t even bother with that one. Project based learning is definitely was the way for me to reach the students. Even today…my 1st day of school at Penn State, the 1st day in class I make them program. They don’t know what they’re doing, they don’t understand what I’m doing but I make them do a version of “hello world” and I show them it is not this foreign monster, it’s not this thing that is not attainable, you just did it even though maybe you didn’t understand everything. You did it, you’re done, and you programmed a program. As much as I could do project based…it is what I prefer but it’s a little hard sometimes because you have to get confidence across. Most of my lesson plans now at the college level – the 1st 20 minutes might be a little bit of a lesson but then there’s definitely projects that we do together or individually.
Fr. Robert: I taught at high school and university level and maybe you can tell me if my read on this is correct but when I was teaching high school if I walked into a class room and said good morning class they’d say good morning. When I walked into my college class and I said good morning they wrote it down. That was the difference between high school students and university students.
Peggy: That’s great. That’s funny, yes I think you do see that. The 1st week or 2 of the college it is so quiet that you could hear a pin drop. By the end of it you can’t get them to be quiet but the 1st week like you said they are writing everything down that you say. I also found when I taught at the high school… (Microsoft was nice enough to donate about 20 controllers) so I introduced XNA gaming. So again it was projected based but it was also something that they were doing at home so if they could write their own programs that would allow them to use the controller that was such a great connection and then I was able to expand on that. Any way you can find a connection to what they enjoy in life… This summer I’m doing a camp on how to add a mod to Minecraft and we’re going to try and teach a little bit of Java using Minecraft. If you can do something like that I think you really peak their interest and then you can get over that hump that this is something that I can’t do and now they feel they can do it.
Fr. Robert: That’s basic teaching pedagogue. Ok so I’m a Jesuit and what we would say is you go in their door and you come out yours. So you use whatever it is that they’re interested in to teach them the things that maybe they wouldn’t want to learn otherwise. I’ll give an example of that that a lot of people hate because they hate that I continue to cover these but… I’ve gotten really big into quadcopters because I enjoyed designing and building them. There’s a lot of people who say well they are just toys but there is so much engineering and math that goes into making these things and people are learning about aerodynamics, they’re learning about micro controllers. They’re learning about logic trees to keep quadcopters in the air. It’s that sort of stuff, it’s that kind of project based knowledge that I find so effective. I want to extend on your comments about that project based knowledge. We have someone in the chatroom who was just saying build a Minecraft module and they were joking but again yes that’s what you do. You find something that they want to create and like it or not they’re going to learn something when they try to create it.
Peggy: Yes exactly. That’s it. We’re going to show them how to create their own swords, how to create their own pick axes. How to add colors and add I don’t know what all yet but yes I think because we’re going to try… I love what you just said that we go in their door and come out ours. I’m going to remember that 1 but that’s what I’m trying to do and I find that a lot of times that’s my highest success when I can make that connection with a student.
Fr. Robert: I do want to move onto something else. I saw in your biography when I asked Lynda if we could have your contact information, I really want to get her on the show and that is your involvement in Stem. For the people at home who have maybe been under a rock and they haven’t heard of Stem what is Stem?
Peggy: Stem… or some people like to say steam you know. Stem is an acronym which means you take the 1st letter of each word. It stands for Science, Technology, Engineering, either arts or mathematics and those are 4 fields that have historically been male dominated. They are also the 4 fields that really are the future of a lot of our students. We need to encourage kids to go into those fields and especially young girls which is another passion of mine; trying to get more females interested in these topics by showing them that they’re not male centric, that they are problem solving. Because I think a lot of girls and women like to solve problems and that they are attainable. You can program, you can build, you can be an engineer, and you can be a scientist. So Stem is a key word for the future I think.
Fr. Robert: Let’s talk about this, especially since we’ve got you and we’ve got Lou who’s working in a professional environment with programmers right now. When I was growing up I just thought ok there is just a bunch of guys here. In fact in my computer science class of students, freshmen at Seneca University I think we had 3 women in a class of about 60 of us. I actually think that was a decent ratio for what we normally got. Lou, you’re a project leader, you’re a project manager, you assign programmers work; I don’t want to put you in the hot seat so don’t answer if this is going to get you into trouble but how many female programmers do you have?
Lou: On my team directly I have 1 but out of 23. But in the group there are actually quite a few. There are more and more, each year we get more from different teams. I work in business software division so for college graduates it’s not the most desirable type of work to do but like you said it’s 1 of those growing areas and we tend to get a lot more each year.
Fr. Robert: Peggy how did we get here? How do we get to a point where we have to actively go out and say hey you know what this engineering stuff, this math and science stuff…it is not gender based.
Peggy: Right, yes how did we get here? That’s a pretty interesting question. I’m not sure. I think a lot of it kind of goes back to even the fact that up until 40 years ago, maybe less, most women got married and stayed home to begin with. I know growing up in my household my mother was a stay at home mother and as a role model. But I don’t know why I didn’t follow her footsteps. I think probably my desire to learn more about math was what pushed me more in the direction. But I was definitely 1 of the odd number out. I was definitely 1 of the few people that liked math as a girl. I wish I knew Padre, I really don’t. I think there’s just still this conception that math is a more…what I should say is that boys find math easier than girls which I don’t think is true but I think there is still that misconception out there. I don’t know that we’ve gone back to figure out if that is truly the case or is it the way that it’s being taught. Do we need to change the way that we teach math to make it more project based. I think they’ve made some changes over the years but I just don’t know. All I know is I keep trying to work on trying to overcome it, that’s for sure.
Fr. Robert: I remember you actually had an interview on I think it was PBS News and 1 of the things that you said… it got clipped and it is used as a sound vibe… you strongly believe that every student, every student at some point in their high school or college career needs to take a computer programming class. I think that’s actually a huge step in trying to fill this gender gap which is “get the women who otherwise wouldn’t even think of this as a career to have to take 1 of these courses and get them to realize oh I’m good at this, I have a brain for math, I have a brain for programming”.
Peggy: I don’t mean to interrupt you but you know I just have to share that when I teach the Intro to Application Programming with Java at the Penn State University… so this is my 3rd year now, I can’t tell you how many girls have come up to me and either said I’m changing to a more computer science major in a design and development kind of field or thank you so much for introducing me to this, I love it and think it’s so much fun. Again I think it is that paradigm that it’s hard or… but I just love watching their faces light up. Some of the boys do too but the girls are very vocal about it coming to me and saying “I had no idea, this is so much fun”. This is so cool to program and watch it work, it’s like wow, that’s awesome. So I think what you said is right, we just need to… I still stand by what I said. I think every student, preferably either in junior high or high school should take at least 1 programming course and get exposed to logical thinking and how to break a problem into steps. That’s life right, we encounter problems every day and the tools to be able to solve a big problem… if you learn how to do it in pieces the way you need to do it for programming that goes a long way in life.
Fr. Robert: Let me go ahead and get Lou into this conversation. Lou, again I’m going to draw on your experience as a project manager. When you are looking at candidates for your projects I know that you previously told us that you’re always looking at their logic skills. You’re looking at exactly as Peggy mentioned – can they break down a complex problem into its constituent parts. How important is that when you decide which programmers go into which projects?
Lou: Really important. The design of an application can mean at some point if you design it for only a specific bunch of scenarios and you move forward you’ll find out later on that there’s a maintenance nightmare and you have to go back and redo a bunch of components and it costs a lot of money to do that. So a lot of times if you give a project to a person that doesn’t understand how to break apart into small pieces and then build those pieces then you’ll find out that later on you’ll get into much world of hurt. So I think it is super important to have somebody really understand those.
Fr. Robert: Peggy I want to ask you 1 last question before we start to move over to your advice for the future generation of programmers and it has to do with again that suggestion that everyone take that computer course. That 1 single computer course, that hopefully the idea is that it leads to more and more. Again 1 of the themes that has been recurring in these wild card episodes are our programming gurus telling us that we live in a generation right now where people have basically abandoned foundational knowledge. They may know how to use a lot of apps on their smart phone but they have no idea nor do they have the desire to know how they actually work, how they program, what they interact with. This Stem discipline, this Stem push, it sounds to me at least in part that it is to reconnect people with that foundational knowledge.
Peggy: I think you just got it. It is, I think the Stem push… and again I agree that currently students have very peripheral knowledge of those things but if you take those same students and you actually sit them down and say follow these steps and what you’re going to have when you’re done is your own app that you made, that you can now make open source available to everybody to download to their phones… I think if we can show the value in that, and this is just my perspective that you’d see a lot more students taking the foundations a lot more seriously. It’s a tough one but I think if they were exposed to it they would… like you said the more people that try it I think that at least out of some of those you’re definitely going to get students that want to continue on and take more advanced courses.
Fr. Robert: We’re speaking with Peggy Fisher – programmer extraordinaire, guru, proponent for Stem and perhaps 1 of the coolest code warriors we’ve had on the show. We’re going to get back to her. She’s actually going to expose some of her secrets for the programming code warriors of the future. But before we do that let’s go ahead and thank the second sponsor of this episode of Coding 101.
Let me ask you something; if you’re watching Coding 101 of if you’re helping in our forums which by the way thank you very much, it is great having you in there. What do you do once you’ve finished your app or once you’ve finished your server? How do you stand it up? In the old days what you’d have to do is you’d have to build a server, build iron, set it up the proper way, get your services running and then start testing it. Or maybe if you had a little bit of cash you could rent a server or part of a server somewhere in a data center but you don’t have to do that anymore. We don’t live in that generation where you have to buy bare steel because we’ve got companies like Digital Ocean. Digital Ocean is a place where you can go if you want to stand up your projects immediately. Get them exposed in a sandbox or put them out on the internet so people can actually use what you’ve created. Whether you’re an experienced code warrior or just getting started you need their flexible, reliable and affordable hosting. Digital Ocean provides developers with droplets. These are virtual private servers that can be customized and deployed quickly to host web sites, web apps, production applications, personal projects, virtual desktops and almost anything else you can think of with full root access. Think about that. You don’t have to worry about some admin granting you the wrong permissions. You control your app and you control your world. Digital Ocean is built for developers and it is used by over 400,000 of them including us here at the Twit brick house. You can deploy and configure your droplets via a stream lined control panel or a simple API and you get to choose your OS. Do you want to run Ubuntu, CentOS Fedora or CoreOS? They’re all available. They have a 1 click deploy that allows you quickly to deploy apps like Jango, Docker, Dropple, Gitlab, Mediawiki, WordPress, Ghost, Ruby on Rails and more. All their servers are built on hex core machines with dedicated ECC RAM and SSD storage. This isn’t going to be 1 of these outfits where you buy time and then 50% of the time it doesn’t actually deliver because it’s over congested, it’s too slow or it doesn’t have the resources. They are also highly scalable to meet the demands of a rapidly growing application or business. You can start small and then you can scale up. Their service can have up to 20 CPUs, 64 gigabytes of memory and 640 gigabytes of SSD hard drive space. They also have auto backups and snapshots that let you easily clone, deploy and resize your droplets as you go which means you can start small and then as your business grows, as the demand increases you can increase it with a single click of the control panel. They give you full featured DNS management and easy to manage domains with dedicated IPs. They give you web console access with HTML 5 plus SSH, SFTP and KMVMC for virtual desktops. They have an active community which if you are a geek you know this is 1 of the best ways to come up with new ideas or solutions or people who are actually using the service who can tell you what they did to fix the problem that you’re having right now. It is so easy to get started. You could get up and running in less than 55 seconds. Go ahead and deploy your own Cloud, your own SSD server with Digital Ocean. They have incredibly affordable and straight forward service starting at only $5 a month. There is also hourly pricing available if you just want to stand something up to test it. You could start at less than a penny per hour. We’re going to make it so that you get started today and start deploying an SSD Cloud server for free. Visit digitalocean.com and create an account. Once you confirm your email and account information go to the billing section and enter the promo code c101 for a free $10 credit. That’s plenty to get started and you can explore what Digital Ocean can do for you. That’s digitalocean.com and once you sign up enter the code c101 in the billing section for a $10 credit and we thank Digital Ocean for their support of Coding 101. Peggy back to you. We’ve established your bona fidus…30 plus years either programming, directing IT or teaching so obviously you’ve got a bit of knowledge here that you could share with us and that you share in your Lynda.com courses. Let’s start with the most basic question, what would you say to someone who is just looking at getting started in programming? What’s the right way to approach it and what’s the wrong way to approach it.
Peggy: Good question. The right I believe to approach it is to leave all your fears at the door, go in saying I can do this. I know I can and if I need help I’ll find it, I’ll network and do what I need to do. I think that’s really important that you believe in yourself.
Fr. Robert: That’s actually interesting because…I don’t want to put a downer on the whole episode although I am about to do it right now but if you do coding professionally there are going to be some dark days. Lou you’re shaking your head. Lou told me a little bit about these dark days because these projects can go on forever and it can feel that all you’re getting done is getting torn down in the next revision as they add requirements. Tell me a little bit about what a programmer would have to put up with, what they have to put up with if they want this as a career.
Lou: You have to have a thick skin because when you design something you know sometimes like I said you don’t think of all the scenarios. So when you push it forward somebody is going to take it and say wow this doesn’t work for this scenario so I need to go and add a whole bunch of things to it and maybe rework it, refactor it, redo it. So you have to have a thick skin just to know…you have a have an inkling for learning too – to say oh wow you know what I didn’t think about that. Then the next project, the next time you then have the opportunity to add that part of the thinking process to it. Again like she said it is a learning process and as you grow and get experienced it makes you better. I think that was 1 of the questions I even had for Peggy was it’s all believing in yourself but do you think it is more of a repetitive thing too, maybe doing it over and over again to kind of get that muscle memory going. Does that help your students learn better and do better at programming?
Peggy: Absolutely, we talked earlier about pedagogy and approach and I can stand on the podium and talk the whole 15 minutes but if I don’t have them do it over and over again in class and do it for homework it just isn’t going to stick, especially if it’s new stuff. So I think it is repetitive and there are days where you’re going to look at something and you’re not going to be able to figure it out. You’re going to look at it and look at it and sometimes you just need to walk away for a little bit. One other think that you said Lou that I thought was great was that the thick skin as well as the ability to say yes I’m fallible, I might have missed a test case, I might have missed something and that’s ok. That’s why I handed it off to you so that you can find anything that I missed because maybe I had some blinders on. That’s really important too. We talked about testing, I don’t know that we emphasize that enough in the short time frame that I have the students but in the world like you’re in Lou testing is a critical part of any application development process.
Fr. Robert: Let’s talk a little about that because now you’re talking about your baby. When you create something it is your baby, it’s your heart and soul. You’ve put a little bit of your ego into this because every time you present code to the repository, to the overall group that is going to approve or disapprove it you’re putting a little bit of yourself out there. There is this axiom for writers that when you hire an editor your editor’s job is to kill your baby. The editor’s job is to take something that you would never remove because you remember how hard it was to create it and they said this is uninteresting get rid of it. If you’re a programmer you have to kill your baby, your group comes to you and says your code isn’t good, it’s not elegant, it’s too resource intensive and you’ve got to change it. How do you do that after you’ve put hours and hours into it how do you go back, step away and then come back with a fresh look and say I know I just created this and I’m going to tear it apart now?
Peggy: I think you need to look at that as a learning experience. You need to say to yourself that hey it’s ok and I can do this again. Once you get started again you find yourself right back in where you wanted to be, you’re right back in having fun again. But you’re right that there is going to be a little bit of time there where you’re crushed. You’re like I thought I had that 1 wrapped, I thought it was done and down the pipe and now it’s back in my lap again. I think you just need to take it and say ok it was a learning experience. You have to, you can’t take it personally although I know you probably do. Like Lou said too just keep working at it and working at it.
Fr. Robert: It is that thick skin, you’ve got to have thick skin and even if you’re taking it personally you can’t look like you’re taking it personally. Sorry that’s how it works. Another basic question that we get all the time and that is people come to us and maybe they’re at that first step. They just want to see, they want to peak under the curtain, see what’s going on, see if maybe they have that natural talent, that natural passion for programming and computer science. They say what language do I start with? I find this so difficult to answer because I always want to answer with…well of course it’s the language I’m familiar with, that’s what you should learn or the 1 I love, that’s what you should learn. How do you answer it?
Peggy: I think I would first have to have a follow up with them and say what is your angle, are you interested in more of a business kind of programming language or are you interested in more of a computer science programming language. If they are interested in maybe writing something for their phone, maybe they’re interested in writing a phone app, then maybe we might want to say why don’t you try Ruby on Rails. I agree with you it is very difficult and there are a few that I absolutely love. I love C Sharp and I love Java but they’re definitely not for everybody. I think some of the languages are more aligned with business versus engineering so if you can figure out those 2…so maybe a C++ is good for someone who wants to go into computer engineering…who might want to look under the hood of computer engineering whereas maybe a C Sharp or a Java or even…although I don’t think many people use Visual Basic anymore – but even a Visual Basic or something like that might be good for someone who wants to have a nice little front end or something. Or maybe HTML or CSS if they’re more interested in web design.
Lou: I like that - defining your goal and then applying the language afterwards. I think you’re right that that works great for any type of project and that’ll help you learn because you’re kind of reaching or working towards a goal so I think that helps a lot. Peggy what kind of resources…when students come to you and say hey I have this goal or I have this project, or even some of the projects you give out… what are the resources other than the obvious curriculum and the books that you give out do you recommend to people to kind of go out and learn these things?
Peggy: Well Lynda.com because I just think that… I really do. The only reason I got involved with Lynda was just because I think the resources that are available there are so numerous and really wonderful. But almost any kind of… if the person is more of a likes to listen and stop… there are a lot of sites that have little video type series but I think that is really nice because it is very self-paced, you can stop and they have challenges. I think as long as it is something that can supplement what I’m trying to teach them in class…I’ve done videos on my own on YouTube or maybe I’ve found videos that other people have done. Even Kahn Academy if they’re trying to do some math associated with a project. It is interesting and I would love to hear both of your perspectives too; 1 of the things that I talk about a lot now is the way that we communicate with our digital natives. My son is going to be 13 in June and if we want to find him we know where to go – in front of the computer watching YouTube. I don’t think he’s much different than many other 12-13 year olds so how can we take advantage of that and get to these kids and provide for them in a medium that they’re used to. I guess to supplement I’d say video training is great, textbooks…I’m more of a hands on textbook kind of person. I really like that as a backup to my learning.
Fr. Robert: Peggy 1 of the other interests that you have that I’d love to talk about here and it goes hand in hand with what do you do with digital natives is; in the last 5-6 years really we’ve seen the emergence of this weird new part CS part EE, part computer science and part electrical engineering in microcontrollers. Microcontrollers that are very readily programmable, that are easy to understand, that give digital natives something that they can program and they see that it’s affecting the real world. I know you are involved with “Arduino programming” I know you’re involved with Lego Mind Storm, has that been a good entre for digital natives?
Peggy: Absolutely. Both of them exhibit the hands on feature that I think is wonderful that you maybe don’t get with a Java or a C++. But the Arduino, the IDE that we use for Arduino is very similar to C++ and Java as far as the syntax goes but yet you see a light come on when your program works. You see the wheels move if you attach it to a little robot. The Lego Mind Storm is just I think a fantastic way to not only teach about programming because you do program the brain of it but also engineering. They have to figure out how do I put these motors on so that when I’m done building when I program it how do I tell 1 motor to go forward and 1 to go backwards because they’re on in opposite directions to have it move forward. There’s a lot of really great learning opportunities. I try to introduce a lot of math with the Lego too. If I want to figure out how far the robot is going to go well I explain to them well what’s the circumference of the wheel? That’s 1 rotation. How can you figure out what that distance is? There are a lot of numerous possibilities there. You mentioned Logic Gates earlier too and the Arduino is great for that. If I’m getting a digital signal coming in on 1 of my pins…and you can even have a little branch off and talk more about electronics and give the kids a little understanding about “how do the lights come on”, how do things work? I like that that it kind of ties in other STEM fields so that if you wanted to you could branch off and talk more about those. I think they are both great tool for teaching and I find that I get a lot more… the students are a lot more attentive when I’m using those types of tools.
Lou: This type of work…programming with micro controllers and even learning languages can be intimidating at times, even based off of your surroundings and in class maybe somebody gets it better than the next. What do you encourage your students…how do you get those students that are basically afraid to ask the stupid question…how do you get them beyond that so that they can start growing and learning from not only the people next to them but from being able to ask that question when they’re lost?
Peggy: That’s a good point too. Some of the techniques that I use in class is really kind of simple. I’ll use a random selector to randomly have them work together on a project and it’s kind of amazing. You have 1 person who is normally very quiet, randomly if they end up with somebody else then they have to talk to each other. Sometimes it does take the teacher to give a little prodding as well. So I think you need to be a teacher that moves around and listens and talks. But once you get those quiet students that are maybe a little intimidated, even if you have to sit down and do a little one on one with them, once they get past that hurdle I usually find that they start to open up and take more chances.
Fr. Robert: We’ve been speaking with Peggy Fisher a lecturer at Penn State University, a faculty member at Lynda.com – our favorite source for knowledge and an all-around uber geek. Peggy we thank you so very much for joining us here on Coding 101. We are going to invite you back to be a code warrior. It will be the language of your choice, any language you want to teach but we would love for you to come back and be a code warrior for us. Would you do that?
Peggy: Oh I would be honored. This has been so much fun for me too, thank you! I’d really like that.
Fr. Robert: Believe me I’ve been watching the chat room and they love you. You’re exactly the kind of guest that we want to have on this show because you show the passion. The passion for computer science, the passion for programming and hopefully that rubs off on people. Peggy if you could please tell people where they can find you on the internet. We already know that they can find you a Penn State University, we know that we can find your courses on Lynda.com. If they wanted to find out more about your work with STEM where can they go?
Peggy: Padre probably the best place would be to Penn State University, we offer an I-tech academy summer camps and there is a lot of information out there. I work for the College of IST. So if you just search Penn State, College of IST and my name you can probably see a lot of the work that I’ve done with the camps and the camps are really all STEM related. This summer I have a middle school girls camp coming up and a middle school boys camp that is going to be “Moding for Minecraft” and then high school Minecraft and high school Lego Mine Storms. A lot of times we put pictures out there and they can see more information there. That’s probably the best place to go right now.
Fr. Robert: We salute you and we will see you back here on Coding 101. Again it is such a pleasure.
Peggy: Thank you Father, you too. It was nice talking to you too Lou.
Lou: You too, thank you. Take care.
Peggy: You guys are awesome, this is so much fun.
Fr. Robert: It is fun, this is what we want to do right? Coding 101 is all about having fun really. If you enjoy this you’re probably going to enjoy programming.
Peggy: Yes I agree and don’t forget to be a life-long learner.
Fr. Robert: That’s right. I couldn’t do this show without Lou. Lou Maresca could you please tell the folks at home where they can find you?
Lou: Absolutely. You can always find me on Twitter. I’m LouMM and of course all my work from Microsoft is crm.dynamics.com.
Fr. Robert: Folks that’s all the time we have for this episode of Coding 101. I do want to remind you though if you want to see our back episodes, maybe if you want to download some of our previous modules so you can start diving into the wonderful world of the programmer you can always go to our show page at twit.tv/c101 or coding101, it all goes to the same place. There you will find not just all of our episodes and all of our show notes but also a drop down menu so you can automatically get our episodes in the format you want into your device of choice. Do you want the audio version into your phone, your android or iOS phone so you can listen to us in the car. You could do that. Do you want the video version on your tablet so you can watch us at work? You could do that. Do you want the high definition version on your lap top, your desktop, your Mac or PC so you can watch us when you get home? You can do that. Again that’s twit.tv/coding101. Also did you know that we actually have a Google Plus group? If you just go to Google Plus and look for Coding 101 you’ll find us. Join us and you’ll be able to find people who can help you in your quest for Coding Nirvana. We’ve got beginners, intermediate and expert programmers in there and it’s a great place just to congregate and find out what’s going on. Finally don’t forget that you can follow me on Twitter. Just go to Twitter.com/padresj, that’s @padresj, there you’ll find my particular brand of snark as well as what I’m doing here on the Twit TV network. I’ll tell you about the guests we’re going to be having, the topics we’ll be covering and the projects that we’ll be doing. It’s all part of the experiment that is Twit TV. Now I know there was been some concern about what’s been happening with the Twit TV stream but let me tell you that you can still find us mostly live on Mondays at 2:30 PM Pacific time and you can join us in the chat room in whatever form it may take at live.twit.tv. I want to thank everyone who made this show possible, of course to Lisa and to Leo for letting us do Coding 101, to my fantastic TD/engineer – Eskimo Zach. Zach I don’t know if you have a camera on yourself but if you do could you please tell the folks where they can find you?
Zach: No room for a camera in the tri-caster so I guess you’re going to have to stare at my Twitter page. You can find me at Twitter @eskimozach spelled with an H.
Fr. Robert: Thank you very much for joining us, I’m father Robert Ballecer the digital Jesuit. This has been Coding 101. End of line!