Search 85,416 tutors
FIND TUTORS

Blogs Blogs

Computer Programming Blogs

Newest Most Active

Did you Know: We can use generators/coroutines in place of multi-threading? Most of us don't think twice about the simple for loop or how it works. Why should we? Is there anything behind it? How does it work? Let's take a look behind the scenes. Python's for loop is really a for each loop (for each element in collection). msg = "The quick brown fox jumps over the lazy dog" If we want to traverse the string above to produce each letter one by one, we simply treat this string like any other sequence in python. for letter in msg:     print letter 'T h e q u i c k b r o w n .... lazy dog... Outcomes our string one letter at a time to the standard output. So what is the for loop actually doing for us? Just as you would assume, as if we were to consume an iterator manually. iterator = iter(msg) iterator.next() T iterator.next() h iterator.next() e ...iterator... read more

Well done folks! We have finally arrived. This the third part of the three-part computer programming post. We will learn how to write a program that will accept data by user input through the keyboard and also print out a result to the computer monitor after performing a simple task of checking if the number is positive of negative. For simplicity, I have chosen the object-oriented, higher level programming language C++ to program the computer to perform a simple computation for us. We will write a C++ program that will prompt the user to type in an integer and the program will check whether the entered integer is positive or negative and display an appropriate output. //////////////////////// #include <iostream> using namespace std; int main() { /*variable declarations*/ int number; int threshold = 0; // we assume 0 is positive /*user prompted for input, then input received from keyboard*/ cout<<... read more

This is the second part of the Computer Programming three part blog post. Here is a synopsis of the background knowledge and the necessary terminology needed before writing a computer program. Those students who are curious about writing computer programs, those who are being home-schooled, or those who are in special education programs will find this post especially useful. I intend to prepare you to speak the language of computer programmers. This will also prepare you for the computer programming that we will engage in my next blog post of this series. If you have already written a computer program you will get a review of the basics as well as get a better understanding of what happens behind the scenes. On a humorous note, we are not talking about the sage on the stage, but the guide on the side.   Introduction to Computer Programming Terminology: 1. A programming language is a formal constructed language designed to communicate instructions to a computer or a... read more

Some of us come with a knack to program computers and with little effort we can get the computer to work for us. On the other hand, some of us don't have a clue how to even get started. We may dread the errors that computer programs give such as "Compile error", or "undefined variable" or we may just be indifferent to anything computer programming related.   I will attempt to unpack the knowledge that has intrigued some of you into simpler and more understandable concepts. Let me start by stating that this series of blog posts is by no means a complete course on how to program a computer. However, I will give you the basics that you need to create simple computer programs. I will also give it to you in easy digestible pieces so it will not be too overwhelming. This way you can impress yourself and others with your newfound knowledge.   So you may ask yourself the question: "How do we bridge the knowledge gap?" I agree. Computers... read more

When designing your manufactured product, you never forget to work on the process selection. The same applies when designing your app or your computer programming project. The designers of applications such as Twitter, Angry birds, Uber or the Wyzant application you are currently accessing engaged in their process selection work in order to give us these fine products.   As a major in computer science and a professional who develops anything from Android applications, websites, and client server applications, I have learned that a good software product is not good because it works but it has to meet the requirements too.    Process selection refers to the strategic decisions involved in choosing the production process to have in your production environment. Sometimes, this is already chosen for you when working on a school project. However, when working in real industry and creating your own Android apps or iPhone apps, you need to choose your own... read more

Hello  All Programming Fanatics and Math Fanatics,   My name is Gustavo, I have been a math tutor for two years and have decided to start teaching Java Programming. In case you did not already know, Java is an object oriented computer language that is perfect for beginners who seek some knowledge in programming, it is also a great way to express your creativity with the use of math.    I offer tutoring in Java at a high school level as well as lessons, I cover all the basic topics as well as some intermideiate topics from data types and logic all the way to graphics and keyboard listeners. Some requirements needed for Java programming include a proper understanding of algebra and a computer running windows 7 or higher/ Mac running a form of OS X Yosemite.   If interested or if you have any questions please feel free to contact me.

It’s 5pm on Sunday evening and you decide it’s time to break out your 1st Java assignment, which is due later that evening at 12am. No big deal, you have plenty of time! What can’t you do in seven hours? I mean that’s like at least 40 games of Halo. You stall another hour (playing Halo) until six 0clock at which point you decide you better get started just in case. You glanced at the problem earlier in the week, no biggie. A couple of inputs, some basic processing, some formatted output, and maybe the professor threw in some easy twist. Two maybe three hours tops, you’ll be counting sheep by ten.   The clock strike’s ten; you have 25 IM windows open (3 hopefuls). You’ve Googled the same thing 25 times, you have more red squiggly lines than if you had written a letter in Spanish inside MS. Word, your code doesn’t compile,  and it looks like this…   public class Chaos {       //default constructor public Chaos()    ... read more

Everybody in this country should learn how to program a computer...   ...because it teaches you how to think.   -Steve Jobs     Knowing how to program is an incredibly important skill that is becoming more and more valuable as technology is becoming extremely important in our everyday lives.   And even if you don't plan to be a tech-savvy computer geek who is shaping the future, programming can still greatly help you reach your goals.   I have met many mathematicians, biologists, chemists, statisticians, and accountants who used their programming knowledge to make programs that help them reach their goals.   Many scientists who conduct research program their own applications that help them conduct research or properly store/interpret data.   I have met accountants who used programming to make Excel application tools and other database tools.   If for no other reason, one... read more

My philosophy on teaching computer programming stems from my first college computer science course, "The Structure and Interpretation of Computer Programs". It was taught in Scheme, a language that is mainly for learning programming and generally not for software development. It wasn't the language that mattered, but rather the concepts of programming that were taught through the language. That is how I thought to come up with the "ADCs of Programming" as a way to introduce students to the concepts of programming languages. "A" is for actions. What tasks can the programming language perform? Most can do arithmetic, but the set of actions varies by programming language. "D" is for data. Every programming language has a way of representing data, from literal values to variables, because actions need to work with data. "C" is for choices. Without the ability to choose what actions to do or what data to use, programs would be inflexible... read more

Many times I have reflected on my favorite part of interacting with students I have met through WyzAnt. I have always found the "discovery" process with a student to be one of the most exciting times during our sessions. The Discovery process consists of the first 10 to 20 minutes when I learn about why they are seeking additional help in a certain area and what they hope to achieve. These are some of the scenarios I have encountered:   a young professional, just starting out in their career, tasked with re-writing a complex system a Masters student seeking a degree in business an Electical Engineering student seeking an undergraduate degree a self-employed business man seeking assistance with converting a system to a new language a computer science student who needs reinforcement with certain lessons   Not all of these interactions have led to immediate progress but they have definitely taught me how to interact more effectively... read more

There is very little emphasis these days on teaching programming, in spite of the fact that technology is becoming more and more a dominant aspect of our lives. Perhaps this is because many programmers are self-taught, used to working alone on projects, and therefore the assumption is that students will learn programming "as they go" or "on their own". This is unfortunate because I think that this aversion to traditional instruction and the preference for "self-taught" programmers leaves some people who want to learn in the dust.   I have lately become interested in rectifying this problem. A few of my clients have discussed the option of learning programming through tutoring sessions with me. I think that if I had been able to avail myself of such an option when I was first learning to program, I might have had a much easier time in learning how to properly use computers as the powerful tools that they are. I believe, however, that... read more

In preparation for offering Python as a subject I'm planning on reviewing and refreshing my basic Python programming skills using the online text "How to Think Like a Computer Scientist", located at:   http://openbookproject.net/thinkcs/python/english3e/   As I progress through the chapters I plan on writing a brief summary and reflection on the topics covered. I also plan on posting my answers to selected problems from the text.   Python is an exciting, powerful, but easily learned programming language, with a large selection of libraries for achieving many common tasks from file i/o, networking, and various mathematical functions, to cross platform gui development, application scripting and automation, and other useful and advanced tasks.   Obligatory XKCD:   http://xkcd.com/353/    

Scratch is a wonderful project out of the wonderful school, MIT, the Massachusetts Institute of Technology. This project is designed to allow children of all ages to learn the basics of programming by hiding the language, and structure of programming behind pretty pictures, called sprites. It also makes adding sound and movement to a presentation very very easy.   So, I have put some time in and I have created demos for some of the "Properties of Real Numbers" that I teach during pre-algebra lessons and that everyone should be familiar with if they did not sleep through their 7th and 8th grade math classes. If you did, then maybe you should pop over to http://scratch.mit.edu/ and search for the distributive property, or the commutative property. Please leave a comment there if you do, and vote it up!   Thanks,   James M. Math and computer programming tutor

Teaching courses at the college level has taught me that one teaching style does not fit all students. In a college course environment, however, an instructor cannot always stop in the middle of a class to re-frame a lesson to suit the students who just aren't getting the topic. With one-on-one tutoring or even small group tutoring, a tutor has the opportunity to present a topic, check if the student(s) "get it", and if not, try a different approach to the topic on the spot. Tutoring means not going strictly by a syllabus but instead meeting the needs of the student, varying the material and teaching approach as appropriate. Like many other subjects, computer programming invites a variety of approaches to learning. It can be formal, hands-on, puzzle solving, problem solving, or exploratory. Different topics in programming are best suited to particular approaches. For instance, loops are best taught hands-on with plenty of examples to understand their mechanics. However,... read more

Note to the Future of our World: Learn as much Math as possible - everything consists-of or is composed-of Math. And, when you say "When will we ever use Math?" the actual answer turns out to be, "You use Math in everything, everywhere, all of the time!" Most students have had a rough time with Math - not because they are stupid but because their teacher didn't figure out how they learn best individually - everyone learns differently - even the students who seem smart figered out how to work-around the teachers and of course they never admit that they are also struggling and they don't share their work-around techniques with their classmates. You Can Do this Math Thing! Just Hang In there! ToeKneeNose (o;'

When using C++ for object-oriented programming, there are some basic concepts and best practices that should be followed for good software engineering. First is the use of public and private in class definitions. Most programmers moving from C to C++ are accustomed to using structs, where all fields are "public" for others to access; in C++, all fields in a class are "private" by default instead. There is a good reason for this: everything in a class should be private unless otherwise necessary. If there is some data that you wish to "expose", you are best off using getter/setter methods to do so rather than making the data public. If some other class needs direct access to the data, make it a "friend" class instead of making the data public. Be smart about which methods are made public as well, and limit the amount of exposure to the "internal workings" of your class. Next is the use of "const",... read more

I've tutored students throughout the DC metropolitan area in web programming (in HTML, XML, PHP), database development (in SQL and MS Access) and statistical analysis, mainly using SPSS (Statistical Package for Social Sciences). I noticed that unlike other technologies, SPSS is often introduced to students at the tail end of the undergraduate and graduate school experience. So, they are often pressed to learn the system and conduct professional research analyses in a short amount of time. To help WyzAnt students, here are a few good online resources that explain how SPSS works: http://whatisspss.com/ http://surveyresearch.weebly.com/what-is-spss.html http://www.ehow.com/about_5459472_spss-software.html Good luck researching! Randi R.

Why would failure ever be a good thing? Well, in computer programming, failure can mean that you have done a good job testing your code and you have found a bug. Finding a bug during testing means that you can fix your bug before you submit your project or assignment to your boss or your teacher. In the process of fixing the bug, you might realize how to improve other parts of the code as well. Without thorough testing, with a possible failure or two along the way, you cannot be confident that your code will do what it is supposed to do. So, how do you go about testing? One way is to think of as many examples of possible input data as you can. Good input, bad input, simple input, and complicated input should all be tried. Keep a list or a file of the examples so that you can try your code on the examples each time you change your code. Another way is to enlist the help of co-workers or friends to try to "break" your code. You can never completely predict what the end... read more

A struct is a datatype from the C programming language that encapsulates a number of different datatypes into a single object. This can be used to easily handle a set of values as a single "package", while also being able to access the individual members of the structure. One example of this may be a ContactInfo structure that contains a person's first name, last name, e-mail address, phone number, birthday, etc. It's easy to see how this would later be extended into the notion of a "class", where the object could have methods defined to access the data or otherwise manipulate its contents, and even lend its functionality to extensions that "inherit" from that type. C++ added this capability to the "struct" while also providing the more appropriate "class" keyword that does mostly the same thing (with some minor differences, such as the default access for members and methods for a class is private while it is public for... read more

1 2

Computer Programming Blogs RSS feed