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 Monday, January 23, 2012. I require that anybody showing up for the first time in any of my classes after that 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.


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

CS 01.000 Learning in Bits and Bytes (LiBBy), the Computer Science Learning Community
The Computer Science Learning Community is a place to meet your fellow freshman majors and to meet the faculty of the department. Catalog description: This course is a component of the department's Learning Community. Registration in this course provides a mechanism for Learning Community students to meet at the same time with faculty members and upperclass majors for various Learning Community activities designed to promote the goals of the Learning Community: academic and social adjustment; formation of study groups; facilitate learning; nurture different learning styles; interest students in faculty research; improve four and five year graduation rates; improve retention, particularly of females; interest students in professional societies; acquaint majors with codes of ethics (professional and student); more internships; more double majors; more minors; and acquaint majors with the computer science specializations. 0.000 Credit hours.
Spring 2012 home page
CS 04.114 Object-Oriented Programming and Data Abstraction
(Prerequisites: minimum grade of C- in CS 04.113; or a score of 4 or 5 on the Computer Science Advanced Placement Exam; or CS 04.103 and CS 04.112)
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, and graphics, with an emphasis on software engineering. A second operating system/programming platform is introduced.
Spring 2012 home page
CS 04.113 Introduction to Object-Oriented Programming
(Prerequisites: MATH 01.122 or MATH 01.123 or MATH 01.130)
Introduces the fundamental concepts of programming from an object-oriented perspective. Topics are drawn from classes and objects, abstraction, encapsulation, data types, calling methods and passing parameters, decisions, loops, arrays and collections, documentation, testing and debugging, exceptions, design issues, inheritance and polymorphic variables and methods. The course emphasizes modern software engineering and design.
Fall 2011 home page
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.
Spring 2011 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 07.595 Advanced Topics in Computer Science: Concurrent Programming
(Prerequisites: CS 04.390 Operating Systems or equivalent)
A graduate-level version of CS 04.391 Concurrent Programming. There will be more programming assignments, harder exams, and additional readings.
Spring 2010 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 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


Use this link to provide an e-mail feedback.


Tanenbaum's Ten Golden Rules (pdf) 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