User Tools

Site Tools


syllabus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
syllabus [2013/04/25 12:51] wildessyllabus [2013/05/06 18:07] (current) wildes
Line 1: Line 1:
 +===== Syllabus =====
 +
 +==== Description ====
 +
 +Many processes can be viewed as a sequence of interactions between a client who
 +requests a service and an implementer who provides it. The concerns of these two
 +parties, albeit complementary, are completely separate because one deals with the
 +"what" while the other deals with the "how". It is widely recognized that separating these
 +concerns leads to reliable, scalable, and maintainable software. Based on this,
 +CSE1020 deals exclusively with the client who needs to be able to look for services;
 +read their API (Application Programming Interface) specifications; create programs that
 +use them; and determine if they are operating correctly relative to their specifications.
 +Topics include delegation and contracts, encapsulation and APIs, aggregation and the
 +collections framework, and inheritance and polymorphism. The course emphasizes the
 +software development process and introduces elements of UML (Unified Modelling
 +Language) and software engineering.
 +
 +The course uses the Java programming language throughout. Its assessment is based
 +on a combination of programming tests and written tests. The two components have
 +approximately equal weights and are intended to measure the student's understanding
 +of theoretical concepts and ability to build applications.
 +
 +
 +This course is an introduction to the discipline; it is not a survey course. As such the
 +emphasis is on the development of a theoretical conceptual foundation and the
 +acquisition of the intellectual and practical skills required for further courses in computer science. The course is intended for prospective computer science and computer
 +engineering majors, i.e. those with a well-developed interest in computing as an
 +academic field of study and with strong mathematical, analytical and language abilities;
 +it is not intended for those who seek a quick exposure to applications or programming
 +(for this purpose any of CSE1520, CSE1530 or CSE1540 would be more appropriate).
 +
 +The work for this course includes a substantial number of exercises that require
 +problem analysis, program preparation, testing, analysis of results, and documentation
 +and submission of written reports. The course is demanding in terms of time, and
 +requires the student to put in many hours of work per week outside of lectures.
 +
 +Students will benefit if they have prior practical experience with programming as well as
 +using a computer. Students who wish to take a one-course exposure to the practical
 +aspects of computing should consider enrolling in CSE1520 and CSE1530 instead.
  
 ==== Instructor & TAs ==== ==== Instructor & TAs ====
Line 7: Line 46:
   * [[http://www.cse.yorku.ca/~wildes|Richard P. Wildes]]   * [[http://www.cse.yorku.ca/~wildes|Richard P. Wildes]]
     * Office: LAS 3016      * Office: LAS 3016 
-    * Office hours: TBD+    * Office hours: Mondays and Thursdays, 9:00 - 10:00
     * Email: wildes@cse.yorku.ca     * Email: wildes@cse.yorku.ca
  
Line 13: Line 52:
  
   * Brandon Haworth   * Brandon Haworth
-    * Office: TBA +    * Office: LAS 2027 
-    * Office hours: TBA  +    * Office hours: Tuesdays and Thursdays, 17:00 - 17:45  
     * Email: brandon@cse.yorku.ca     * Email: brandon@cse.yorku.ca
  
syllabus.1366894304.txt.gz · Last modified: 2013/04/25 12:51 by wildes

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki