COURSES INDEX PAGE

To search all Rowan pages reachable from this page, enter one or more keywords into the box below and click ``Search....''


Note on Add/Drop period

The Add/Drop period ends the evening of Tuesday, September 8, 2009. I require that anybody showing up for the first time in any of my classes on Thursday, September 10, 2009, be up-to-date with respect to readings, announcements, and other assignments. In general, a student adding a class is responsible for contacting the instructor to get a syllabus and find out how to catch up. All readings, announcements, and assignments are in my Web pages, which any responsible student can find easily. Students found unprepared on Thursday, September 10, 2009, will be charged a half day of attendance, as explained in the course syllabus.


This page contains links to the home pages for the courses I currently teach or have taught.

CS 01.104 Introduction to Scientific Programming
This course emphasizes algorithmic solutions of problems. The syntax of the programming language is also studied, as well as the writing of structured code. Proficiency equivalent to Intermediate Algebra (MATH 01.121) is expected.
Fall 2009 home page
CS 04.390 Operating Systems
(Prerequisites: CS 06.205 Computer Organization and CS 04.222 Data Structures & Algorithms)
The course concentrates on the design and functions of the operating systems of multiuser computers. Its topics include time sharing methods of memory allocation and protection, files, CPU scheduling, input-output management, interrupt handling, deadlocking and recovery and design principles. The course discusses one or more operating systems for small computers, such as UNIX.
Fall 2009 home page
INTR 01.265 Computers and Society non-WI
(Prerequisites: COMP 01.112 College Composition II and CMS 04.205 Public Speaking)
This interdisciplinary course focuses upon the effects of computer systems on individuals and institutions: the social, political, philosophical, constitutional, economic, ethical, and legal issues involved.
Fall 2009 home page
CS 04.391 Concurrent Programming
(Prerequisites: CS 04.390 Operating Systems)
Introduces the motivation for and fundamental concepts of concurrent programming. Topics include processes, threads, context switching, atomic instructions/actions, shared data, race conditions, critical sections, mutual exclusion, synchronization, locks, barriers, semaphores, monitors, shared-memory multiprocessors, and an overview of distributed programming (distributed-memory multicomputers, interprocess communication, message passing, remote procedure call, rendezvous). The course includes developing concurrent programming skills by using a language that supports the multithreaded paradigm.
Spring 2010 home page
CS 01.102 Introduction to Programming
This course acquaints students with the logical structure of a computer, the algorithmic formulation of problems, and a modern high-level programming language. Extensive programming experience is included in the course. Proficiency equivalent to Intermediate Algebra (MATH 01.121) is expected for this course.
Spring 2009 home page
CS 01.200 Computing Environments
(Prerequisites: CS 01.100 or equivalent or have passed the Rowan Computer Competency Exam)
Students will be exposed to a variety of computing environments. The course will include extensive hands-on use of a variety of software applications. Topics covered will include user tools, user programming techniques, application packages, and networking communications. Students will gain an understanding of the principles of computing which will enable them to adapt to future technological developments. A solid and fundamental understanding of computers and current operating systems, word processing and spreadsheet software are essential to this course.
Spring 2008 home page
CS 04.103 Computer Science and Programming
This course emphasizes programming methodology, algorithms, and simple data structures. A programming language rich enough to allow easy implementation of data structures is studied. Prior programming experience in any programming language is expected for this course.
Spring 2007 home page
CS 04.113 Introduction to Object-Oriented Programming
(Prerequisites: formal and declared status as a Computer Science major or minor or permission of instructor, MATH 01.121 or the high-school equivalent)
Introduces the fundamental concepts of programming from an object-oriented perspective. Topics include simple data types, control structures, an introduction to array and string data structures and algorithms, as well as debugging techniques and the social implications of computing. The course emphasizes modern software engineering principles and developing fundamental programming skills in the context of a language that supports the object-oriented paradigm. Includes basic UNIX commands and editing.
Fall 2006 home page
CS 04.114 Object-Oriented Programming and Data Abstraction
(Prerequisites: formal and declared status as a Computer Science major or minor or permission of instructor; CS 04.113, or a score of 4 or 5 on the Computer Science Advanced Placement `A' Exam, or CS 04.103 and CS 04.112; MATH 01.122 or the high-school equivalent)
Objects and data abstraction. Continues from Introduction to Object-Oriented Programming to the methodology of programming from an object-oriented perspective. Through the study of object design, this course also introduces the basics of human-computer interfaces, graphics, and the social implications of computing, with an emphasis on software engineering. Includes advanced UNIX commands.
Fall 2005 home page


Use this link to provide an e-mail feedback.


Tanenbaum's Ten Golden Rules for teaching computer science.


``Hey, Prof!'' --- Forms of Address

You see your professor in the hall and you want to say hello or you want to ask your professor a question. Do you say ``Dr. Smith, ...,'' ``Mr./Ms. Smith, ...,'' ''Professor Smith, ...,'' or ''John/Jane ...,''? Until you get to know me, I prefer ``Professor Hartley'' or ``Mr. Hartley.'' After that, if you are comfortable with it, feel free to call me ``Steve,'' but only outside the classroom. It is probably better for your fellow students to stay a bit formal in the classroom.

For the curious, why ``Professor'' or ``Mr./Ms.''? I did my doctoral work at the University of Virginia, founded by Thomas Jefferson. By tradition, all students there refer to faculty members this way. Only in the medical and nursing schools is anybody called ``Dr.''

From the online Chicago Manual of Style (September 12, 2005):
Q. If someone has a PhD and is a professor at a university, what would be his or her title? Doctor or Professor?
A. Although this question doesn't really fall within the purview of CMS, the manuscript editing department at Chicago is of course well versed in etiquette, as we are in most things. Traditions vary from school to school and from discipline to discipline. You're always safe with ``Mr.'' or ``Ms.,'' but I doubt that any teacher would be offended if you called her ``Professor,'' whether or not she is one. ``Doctor'' is usually reserved for medical doctors, although some professors use it, and PhD's who don't have tenure-track appointments (and who therefore don't hold the title of professor) often like to use ``Doctor'' instead. (For other questions of etiquette, you can browse the Internet for ``etiquette'' or ``manners'' or, in this case, ``forms of address.'')

All contents herein © 2000 Stephen J. Hartley. All rights reserved.

home page: http://elvis.rowan.edu/~hartley/index.html
e-mail: hartley@elvis.rowan.edu