Dalhousie University    [  http://web.cs.dal.ca/~vlado/csci1110  ]
Fall 2016 (Sep6-Dec6)
Faculty of Computer Science
Dalhousie University

CSCI 1110 — Computer Science I and II

[ Home | Calendar | Assignments | Misc ]
Time: Mon-Wed-Fri 10:35-11:25; Labs B01 Wed 14:35-17:25; Labs B02 Tue 14:35-17:25
Location: LSC-Common Area C216; Labs B01 in CS134 (TLab 4); B02 in CS330 (TLab5) (Goldberg CS)
Instructor: Vlado Keselj, office: CS bldg 432, phone: 494-2893, e-mail: vlado@dnlp.ca
Office hours: "Open-door" policy, unless in a meeting or on a phone call. To be sure that I am available, please make an appointment by e-mail.
E-mail list: csci1110@lists.dnlp.ca

Course Description

This course covers the combined topics of Computer Science I and II in an enriched manner. Procedural programming is briefly reviewed, including variables, data types, expressions, assignment statements, control-structure statements, loops, arrays, and procedures (methods). Problem solving through programming is introduced and remains the fundamental theme throughout the course. Particular emphasis is placed on specifying and understanding the problem and its solution, followed by implementation. Various fundamental approaches, such as iteration, nested iteration, and recursion, are introduced. Students are introduced to object-oriented programming and the fundamental concepts of abstraction, encapsulation, inheritance, polymorphism, and modularity, as well as the mechanisms: classes, objects, instances, references, and methods. Lastly, students are introduced to a variety of abstract data types, such as lists, stacks, queues, and trees, simple implementations there of, applications, and algorithms that manipulate them, in particular, searching and sorting.

All material discussed in class will be approached with a view to solving problems. Each week a new problem will be presented and students will learn the material needed to solve the problem. The problem set is specifically chosen to serve as a broad introduction to computer science. Note: This course will be taught in a flipped class-room style format. Students will be expected to do extensive readings on their own to learn the fundamental concepts. Lecture time will be used to answer student question, clarify misconceptions, and most importantly, apply the material in the readings to solve problems.

(link to calendar description)
Academic Integrity Policy

Course Calendar


Required Textbook:
  1. Starting Out with Java: From Control Structures through Data Structures by Tony Gaddis and Godfrey Muganda, edition 3, Pearson, 2016.. https://www.pearsonhighered.com/program/Gaddis-Starting-Out-with-Java-From-Control-Structures-through-Data-Structures-3rd-Edition/PGM282355.html .
Recommended Reading:
  1. Introduction to Programming in Java: An Interdisciplinary Approach by Robert Sedgewick and Kevin Wayne, Pearson Education, 2008, ISBN 13 9780321498052 .. https://www.pearsonhighered.com/program/Sedgewick-Introduction-to-Programming-in-Java-An-Interdisciplinary-Approach/PGM283031.html.

Currently maintained by: Vlado Keselj, last update: 05-Jan-2017