ONLINE COMPUTER SCIENCE COURSES

     The following is a concise description of the online courses offered by Dr. Horton H. Tracy (Tony) in the Computer Science Dept at Frostburg State University, part of the University of Maryland System located at Frostburg, Maryland.  Each of these courses, is a regular on-campus course that is part of the standard curriculum of the University.  None of these courses have been offered exclusively to online students, but each course has had at least one student who completed it without attending regular class sessions. One of my courses, COSC 120, was offered for the first time as a completely online course in the Spring of 2000 and has been available as such every semester since then.  

        Although none of these courses was originally designed as a completely online course, each was developed, from its inception, for the independent learner. This has been a fundamental feature of my courses for over thirty years.  Therefore, my original course materials were easily adapted for study by a student outside the framework of the on-campus course.  With the transfer of all my course content to the Web in 1998, it has become possible for an independent learner to study these courses at any time, over any time period, from any place in the universe that has access to the Web!  (Of course, if you want to get "credit" for your learning, you will have to register for the course and "jump through the hoops" of formal education to get a grade on a transcript!) On the other hand, even the on-campus student can benefit from the two powerful learning facilities of Web based courses, currency and interaction .  "Currency" means the course content is (or can be) as up-to-date as today's headlines ; "interaction" means the students can interact with their learning material as well as their teacher and other students.  Web-based learning material facilitates personalized, nonlinear, interactive study; e-mail, chat, forums, and teleconferencing allows everyone in the course to communicate with each other (instantly or asynchronously) from remote locations!   Since the Spring semester of 1999 I have been experimenting with netcams and audio chat, using Microsoft NetMeeting, iVisit, HearMe (now defunct), PalTalk, and various IM applications to make it possible for students to communicate via teleconferencing over the Internet.  This is "easier said than done", but it has been possible for online students to "attend" my on-campus class presentations and my office hours via cyberspace, by coordinating this with me.  We continue to experiment, so stay tuned!

        Each of my online courses consists of "clonable learning modules" (hypertext equivalents, with interactive learning tools, of textbook chapters, which can be cloned and customized by the student), "assessments" (learning tools that replace tests in normal courses), "evaluations" (equivalent to public examinations), lab exercises (hands-on exercises that parallel the content of the learning modules), and, in some cases, a semester project.  These are best illustrated in COSC 120, Introduction to Cyberspace and explained in the overview of that course at

http://faculty.frostburg.edu/cosc/htracy/cosc120/MANAGEMENT/Overview120.htm.

Concise descriptions of the courses currently available are as follows:

  1. COSC 100, Introduction to Computer ScienceThis "computer literacy" course is an introductory survey of the historical, technological, and social aspects of computing with a practical component involving contemporary software applications. Topics include past and future computing, hardware, software, computer systems, data representation and processing, telecommunications, and social and ethical concerns of computing. Practical applications include word processors, spreadsheets, database managers, graphics packages, e-mail, and Web browsing software.  No prerequisites; offered every semester. (The course contains eleven learning modules and ten lab exercises.  The online learning material takes up 11.8 mega bites (numerous graphics) of server storage.)  It's URL is http://faculty.frostburg.edu/cosc/htracy/cosc100/
  2. COSC 101, Introduction to Computer Science:   (Last offered in the Fall, 2003.)  This, the first course in the core computer science curriculum, is a survey of the discipline of computer science covering history, hardware, development, number systems, Boolean logic, algorithm development, object oriented software development, programming languages, computability, artificial intelligence, introduction to programming, social implications, and ethics.  In addition to providing a survey of computer science fields, it is designed to provide the prerequisite knowledge and skills (in particular, the Unified Modelling Language and Java software development language) for subsequent courses in the computer science curriculum, especially COSC240 No prerequisites; offered every semester. (My version of this course was offered only once; consequently it it the most incomplete of my online courses; however, it does offer an example of the effort I put into developing a course.  As of 2003, the course contained thirteen online learning modules, five large appendices, and eight lab exercises; unfortunately it also has four unfinished learning modules that I have never had the opportunity or incentive to complete.  The online learning material takes up 9.2 mega bites (average number of graphics) of server storage.) It's URL is http://faculty.frostburg.edu/cosc/htracy/cosc101/
  3. COSC 120, Introduction to Cyberspace (the most thoroughly developed for the Internet):  A survey of Cyberspace, with particular emphasis on the Internet, using Web Browsers. There is a significant practical component focusing on research of the Internet resources in the student's major discipline.  There are numerous assignments for generating HTML documents using HTML editors (rather than writing HTML code). Topics include a survey of the content and facilities of the Internet and World Wide Web, other Internet services (FTP, Telnet, e-mail, newsgroups, mailing lists, chat, and teleconferencing), hardware and software for communications and networking, protocols (TCP/IP), File types and multimedia, Web programming languages, and the ethics of Cyberspace. Each student will complete a project that summarizes the Internet resources in his/her major discipline; the project will be published as a Web site and presented in class via teleconferencing. (The course contains six learning modules, ten or eleven lab exercises, and a semester project.  The online learning material takes up 7.6 mega bites (numerous graphics) of server storage.)  It's URL is http://faculty.frostburg.edu/cosc/htracy/cosc120/.
  4. COSC 325, Software Engineering:  This course is the "capstone" of the core software development courses in the FSU curriculem; every student must attain a C in this course in order to complete the core curriculum.  The course is a survery of current software engineering and management techniques, with a focus on object-oriented strategies, based on the Unified Modeling Language (UML). The central theme is the application of engineering principles to software development in a team environment.   Modern software engineering is emphasized, e.g. utilization of reusable constructs (components, class libraries, frameworks, and patterns), employment of an integrated development environment (IDE), creation of graphical user interfaces (GUI), and large scale project development.    Students gain experience in team development by participating in a semester long group project with an oral presentation at the end of the course.  It's URL is http://faculty.frostburg.edu/cosc/htracy/cosc325/.
  5. COSC 330, Web Design and Development: (Last offered in the Spring, 2004.)  A practical study of the design and development of Web sites.   Course elements include: core concepts of HTML, principles of Web site design; hypermedia (graphics, audio, and video elements for Web pages) and interactive technologies (forms, scripting, DHTML, XML,etc).  The student will learn how  to incorporate scripts from the scripting languages JavaScript.  The practical component is based on the development of an semester project that demonstrates the the student's Web development skills as well as the results of independent research on an advanced Web development tecchnique or a Web site for a local business or organization; the project will be published as a Web site and presented in class via teleconferencing. (The course contains ten learning modules, at least ten lab exercises, and a semester project.  The online learning material takes up 6.62 mega bites (numerous graphics) of server storage.)  To enroll, prerequisite experience in basic Web page development, e.g. a passing grade in COSC 120, is required.   The course URL is http://faculty.frostburg.edu/cosc/htracy/cosc330/.
  6. COSC 390, Object Oriented Software Development in a Distributed Environment Using Java: (Last offered in the Spring, 2006.) The course focuses on object-oriented software development in a distributed computing system using the complete Java development environment for hands-on experience. It was originally designed to build on the student's OOP capabilities developed in COSC 200 and COSC 201 using C++; ;however, after those courses switched to Java, COSC 390 evolved into a course that focuses on advanced subjects, especially object oriented modeling, graphical user interfaces, and distributed computing (in particular Java applets).  Therefore, the focus of the assignments will be on developing applets and accessing them from GUIs on Web pages. Emphasis will also be placed on those software development facilities not covered in other courses, e.g. object oriented modeling, exception handling, concurrency, using class libraries (Java API), componentware (JavaBeans), and JavaScript. At the end of the course students will have a Web site that illustrates their object oriented modeling (UML) and Java development capabilities. (The course contains ten learning modules and seven programming exercises.  The online learning material takes up 1.9 mega bites (few graphics) of server storage.)  The course URL is http://faculty.frostburg.edu/cosc/htracy/cosc390/.
  7. COSC 450, Programming Language Structures:  (Last offered in the Fall, 1998.)  Features of programming language paradigms and underlying concepts, particularly those not covered in the core software development courses of the FSU curriculum.  Syntax and semantics; control structures, modularization/coupling, and abstraction as implemented in structured programming, object oriented programming, and componentware development styles.  Imperative, declarative (applicative and relational) language paradigms. Programming exercises focus on object-oriented software development tools (JavaBeans, Java, and JavaScript), applicative languages (Logo and LISP), and a relational language (PROLOG).  (The course contains ten learning modules and seven programming exercises.  The online learning material takes up 2.2 mega bites (few graphics) of server storage.)  The course URL is http://faculty.frostburg.edu/cosc/htracy/cosc450/.
If you are interested in the design of these course access Design Decisions at http://faculty.frostburg.edu/cosc/htracy/cosc120/design.htm.