Welcome to CSC 4240!
This is a bilingual course for people who already know how to program; it will be taught using both Python and Java. We will begin with Python's type system and with Python expressions.
We will then do the same with Java and we will compare and contrast how the two languages work.
You should have seen the "big 6" in a prior programming class. The language does not matter, what matters is that you understand these basic things.
- variables These are symbols that refer to data in memory.
- objects I use this in the "wide sense" in that objects are chunks of data in memory.
- functions These remember a procedure under a name.
- conditional logic This allows your program
to make decisions. Nearly every language has
if
andelse
along with some mechanism forelse if
. - iteration This causes a chunk of code to be executed repeatdly.
- containers These allow you to store related groups of data under a single name. Examples include lists, dictionaries, and arrays.
Computing Environments You will have two. One is
our departmental server, cs.ncssm.edu
. You will learn how to
the command-line interface on this server; it is a full-on UNIX computing
environment. All computing adults know how to
function in a command-line environment. There is a bonus for Mac users:
You have a real computer! Why? It has a UNIX shell. All other computers
are toys.
The second is your PC. You are required to install several items to get ready for this class. Complete details are in Canvas. You should install both Python and Java (14) on your PC. You will need a text editor for your PC. No assignment in here should ever be submitted in a word processor format. All files you submit will be in a plain-text format.
A Note About This Site I have organized things on this site to make them easy to find. Always look on the left in the navigation area. Example code can be viewed by clicking on the links on the left. The folders B and F will contain the sample code presented to each block on each day. On Wednesday or Thursday, there won't be folders B and F since only one of the blocks meets those days. You have full access to these folders so you can see the examples I do in the other block.
All programming assignments will appear on the Specs Page. Big assignments will have their own subfolder which will hold any shell code I provide for you. Point values for each assignment are posted on the specs page as well. The Current Classes Page tells you how grades are computed in all of my classes. You will use Canvas to turn in assignments.