Introduction to Software Development
GWU Computer Science
The class information is located in the Syllabus link of the navigation bar.
We will go over it now. When you are done checking it out, make sure to continue here.
The Most Important Point: This course is designed so that anyone can learn to program and do well even without any prior experience!
We will use Ed as our main communication hub.
Please join Ed (via invite emailed to you).
We will use Blackboard to submit graded assignments.
We will be posting links on Blackboard to submit homeworks and exercises.
There are many answers here, let's chat about it!
This is the classic basic example (the colors are just highlighting):
public class Hello { public static void main(String[] args) { // generate some simple output System.out.println("Hello, World!"); } }
This program is written in a programming language called Java. After it gets processed and executed by the computer, the result is that a phrase is printed in the Terminal (more on this later):
"Hello, World!"
Let's visualize this programming running together by copying it (already done for you) into the Java Visualizer! Note: we will be using the Java Visualizer most of the semester.
The program-to-print process (in simplified form) looks like this:
The parts of this simple program:
We'll talk more about these parts and why they are organized like this in a later class.
For now, think of these parts as:
A computer works like a flowchart, where information/data is what "flows" through the decisions.
A Low-Level language (like bytecode or machine-code) is composed of the set of instructions that can be directly executed by the computer's central processing unit (CPU). It is "machine-speak" and it is very distant from English. To the human, it looks like 0s and 1s. This is because on a computer, 0s and 1s can be represented through electrical currents (either on or off), and gates can be used to control how the current flows. No human wants to write in this language.
Solution: represent this low-level language in something easier for humans to deal with. Why? Because someone needs to eventually be able to easily understand the code to debug it. Then, have software translate the human-readable language into a low-level language that the machine can process.
These programming languages that are closer to English and that allow you to use abstract terms and instructions are called High-Level Languages. Some of these are (C, C++, java, Python, etc).
The conversion of a program (written in a High-Level language) into an executable (written in machine code) is called Compilation. Note: we'll assume this model for this course, but there are actually some details we're leaving out right now for the sake of clarity for those of us new to programming.
How do we use the program so that the computer does what we want it to do?