Computer Science - Syllabi & Other Course Materials
This course provides an introduction to computer concepts and terminology, UVI computer resources, operating systems, email, word processing, spreadsheets, database, graphics, Internet, and computing ethics. It is appropriate for students with no previous background in computing, who wish to apply computer applications in their studies.
This course requires no previous programming background.Students will learn the use of a programming environment, which includes the program editor,libraries, and compiler. Students will learn the use of basic data types, statements, controls, andstructures. A high-level computer programming language will be explored in the context of solving problems. Procedures and functions will be introduced while stressing the concepts of program modularity and top-down design.
This second course in programming represents a continuation of the basic language features and elementary problem solving of the course Introduction to Programming I. Criteria for wellformed problem definitions are examined and increasingly sophisticated problem solving strategies are explored as more advanced programming elements are introduced. Recursion is introduced and compared to iterative solutions in terms of program efficiency and program simplicity. Data files of more complex types, the use of pointers, dynamic structures, and basic data types are introduced. Top-down development of programming solutions as well as concepts in program modularity are further emphasized. The processes of program documentation, production, testing and maintenance are exemplified. This course establishes a foundation for professional programming and software engineering design skills.
An introduction to data structures, program specifications and design emphasizing abstract data types and their implementation. Arrays, lists, queues, trees, and graphs will be examined along with their implementation for specific applications. Set operations involving abstract data types will be covered. A series of searching and sorting techniques using various data structures will be analyzed looking at efficiencies based on memory and run time.
Project oriented instruction in program development, using a professional development environment. Extensive programming practice is provided in both individual and team contexts for development of applications and systems. Design issues addressed include object oriented programming systems, approaches to inter-operability and portability, design of module interfaces and definition of system test beds.