UMUC Europe
SearchSearch Contact UsMyUMUC Site MapWebTycho  

Maryland in Europe - Graduate Programs
Bowie State University, M.S. in Management Information Systems

INSS 520 -- Software Structures

Education Center, Harrogate, England 22 August to 12 October, 2000
2000-2001/Term 1 Tuesdays and Thursdays
Instructor: Grant Wiswell 16:40 to 19:30

Description Objectives Text Grading Coursework Instructor Schedule


Credit

3 semester hours of credit.
Prerequisites: All undergraduate prerequisite courses or permission of the instructor. Recommended prerequisite: INSS 510.


Course Description

This course provides an in-depth look at programming languages which are used to write application software. The course surveys the broad range of programming languages, and then focuses on those properties of a language which are needed in order to design and specify the processing instructions and data structures of a computer program. Language syntax and semantics will be explored while considering procedural, non-procedural, functional and logic programming languages. The type of language to be used depends on the problem to be solved as well as on the qualities of the language. The effect of language selection on software engineering will be discussed, with a look at current trends and expectations among software developers.

Students will be required to complete programming projects.

Objectives

Students who successfully complete this course should have a basic understanding of:

  • The fundamental nature of programming languages and how they work
  • Major attributes of several programming languages
  • Tradeoffs in programming language design and usage
  • Data types and abstract data types
  • Virtual computer concepts
  • Structured programming concepts
  • Object-oriented programming concepts
  • Criteria for selecting a programming language
  • How a programming language can support good software engineering


Text

Concepts of Programming Languages,
Robert W. Sebesta,
4th edition, Addison-Wesley, 1999,
ISBN 0-201-38596-1

Course Evaluation

Grades for this course will be based on:
Midterm exam 25%
Final exam 30
Homework assignments 25
Research paper and presentation 20


Computation of Final Grades
A90 to 100
B80 to 89
C70 to 79
Fbelow 70


Coursework:

Students can learn about programming languages via two main avenues. Firstly, reading, lectures and research. A term paper will be one product of this approach. Students will select and evaluate a programming language. Ideas and standards for this term paper will be discussed during the first week of the course. Students will be encouraged to select their term paper topic from a list of currently popular languages, with a minimum of overlap, so that there will be variety, rather than repetitition, when students present their findings at the end of the term.

Secondly, a good way to learn about a programming language is to use it. Homework assignments will involve writing and debugging programs. You are allowed to implement the programs in the programming language which you find appropriate. Criteria for selecting a language are a part of this course, and the instructor may make recommendations.

Language software: The UMUC computer lab has text editors and compilers for Java and C++. (Possibly others, as well.) Various compilers and interpreters are available as commercial software or Internet downloads. (Borland JBuilder 3.5 may be purchased from the UMUC Textbook Office. Microsoft products may be purchased by students from www.developerstore.com/devstore/academicBenefits.asp. Some restrictions may apply.)

The home page for the textbook will have updates on ways of obtaining information and language processors: http://www.awl.com/cseng/titles/0-201-38596-1/

Other examples:
The JDK (Java development kit): http://java.sun.com/j2se
Vanilla SNOBOL4: http://www.arts.cuhk.edu.hk/humftp/Programming/Snobol4/
Haskell: http://www.haskell.org
Python: http://www.python.org



Policies

Class attendance is expected. Students are responsible for all material covered during lectures and discussions, as well as assigned textbook readings. On such matters as exceptional grades, academic dishonesty and attendance, the policies of the current Graduate Catalog of the University of Maryland in Europe will apply to this course.

Homework assignments should be completed on time, so that we may discuss alternative solutions as a part of subsequent lectures. Late homework will be subject to grade penalties.




Instructor:

Grant Wiswell. B.A., History (Stanford, 1960), M.A., History (London, University College, 1992).
Mr. Wiswell has taught Computer Studies and History courses for the European Division since 1993. Prior to joining UMUC, he worked in the computer industry for about twenty-five years, as systems analyst, programmer, data base consultant and project manager. His earliest "programming" was with plugs, cables and hardened steel tabs, on electro-mechanical accounting machines. Thus, he welcomed the graduation to assembly languages, FORTRAN and COBOL. More recently, he has taught SQL, Pascal, C, C++, and HTML.
(More details on web site: http://faculty.ed.umuc.edu/~gwiswell)



Office Hours and Communication

Students may request individual discussions with the instructor before or after class, or by appointment. Messages may be left for me in the University of Maryland office, or by e-mail: gwiswell@faculty.ed.umuc.edu

Tentative Course Schedule

A full course schedule will be presented during the first week of the course. Students may expect that the reading assignment for the first week will be Sebesta, Chapters 1 through 3. The first programming assignment will be handed out during the first week, also. Readings for the second course week will be Chapters 4 and 5.

Top Description Objectives Text Grading Coursework Instructor
Accreditation | Contact Us | Catalogs | Worldwide Locations | Press Room | Nondiscrimination |  ©2008