Introduction to Programming
JMU Computer Science, Fall 2017
Learn the fundamentals.
This is a course in algorithmic thinking and problem solving. In this course you will learn to express solutions to computational problems by giving clear, complete, and exact descriptions of each step of your solution. This is the fundamental skill of programming, which is one of most important tools for a computer scientist. A computer is a very dumb machine–it does precisely what you tell it to do! If you want to code something interesting, you have to (A) know how to solve computational problems and (B) know how to describe your solution to a computer. This course is about both A and B, but the most important skill you learn in this course is problem solving (expressing your solution in a particular formal language, like Java is the easy part).
In this course we focus on the foundational tools for problem solving: logic, conditionals, loops, functions, modularity, and recursion (to name a few of the most important topics). In order to apply these problem solving tools, you will also learn the Java programming language, a computer language that allows you to specify a solution to a problem in a precise way that the computer can follow. Do not be fooled–the hard part is to learn problem solving; the easy part is the Java language.
Learning to program is a real challenge, but rewarding for those who persevere. Students successful in this class will have a good foundation in the basics of problem-solving and programming and will be well prepared for CS 159, Advanced Programming and on their way to a major in computer science.
Fall 2017 Instructional Team
ISAT/CS 143 (Lab) and 243 (Classroom)
Fall 2017 Teaching Assistants
SuMW 5-7p, Th 9-11p
Su 1-3:30p, M 7-9p WTh 9-11p
Su 3-5p, M 7-9p, Th 9-11p
SuT 9-11p, WTh 7-9p
More coming soon...
Teaching Assistant Lab Hours
The ISAT/CS 248 and 250 labs are staffed by teaching assistants on Sunday from 1 to 11 pm and Monday-Thursday from 5 to 11pm.