CS 122 Computer Science II,   Winter 2020   (CRN:  10874)  ( Lec. 02                     SYLLABUS  (Draft as of January 16, 2020)
  Instructor:      Jeffrey Horn,  email:     jhorn@nmu.edu
                            office:  2202 Jamrich Hall
                            phone:  227-1607

Office Hours:    TBA

Textbook:   None required.

Classroom:          Jamrich (JXJ) 3313   
Meeting Times:    3-4:40pm, TuTh
Prerequisites:  CS 120 or equivalent or permission of instructor
Our web page:   http://euclid.nmu.edu/~jeffhorn/Classes/CS122/Winter2020/syllabus.html

 (I will use the web page EXTENSIVELY, posting everything I can up there as soon as possible.  This includes all electronic forms of handouts, assignments, solutions, sample tests, etc.  Also I will post announcements, links to interesting, topic-related sites, etc.  So please check our page regularly!  At the very least, twice a week.  We will also have a WebCT page for posting grades, etc.)


LEARNING OUTCOMES:

After completing CS 122 the successful student will have a deeper understanding of object-oriented programming, specifically using the Java programming language, including concepts such as inheritance.   He or she will be able to appropriately use more advanced data structures and algorithms such as stacks, queues, linked lists, trees, recursion, and sorting techniques.

Evaluation of these learning outcomes will be done through assignments, quizzes, and exams.


TOPICS:

See the course description in the NMU Undergraduate Bulletin; link above.



GRADING:
30% Programs and Homeworks
30% Quizzes and Exams
30% Final exam, comprehensive.
10% Instructor's discretion.
Late Policy:  For programs and homeworks, 5% off for each day late (counting only days that the university is open; e.g., not weekends or snowdays).   But of course I cannot accept them after solutions are handed out!  As for exams, those cannot be made up except under the most severe and extenuating emergencies!  Don't take a chance if you don't have to!  (If we have "enough" assignments and/or quizes, I will drop the lowest grade in that category.)


 COMPUTING FACILITIES:

Hardware:    NMU IBM ThinkPads,  NMU Apple MacBooks

Software:    A text editor (e.g., NotePad, WordPad, or TextPad) to serve as a program editor, and a Web browser to run the programs, and an FTP client to transfer web page files to a web server.

PLATFORM:


IBM ThinkPad  running MS Windows


Apple MacBook running Mac OS X

Text Editor


Obtaining TextPad (optional; WordPad* or Notepad* are just fine...)
Use a web browser to view http://www.textpad.com/. Click on download.
This should display a page that gives a choice of obtaining a versions of TextPad with an English only interface. Obtain this software.  Run the downloaded ".exe" file (by double clicking the file on your hard drive).  Follow the instructions, and a TextPad icon should show up in your Start/All Programs menu.

TextWrangler

Go to here and download the ".dmg" file.  Drag it into the Applications folder.

  Java Development Environment


https://www.oracle.com/technetwork/java/javase/downloads/index.html



     FTP Client     (any one of these)


WS FTP, or WinSCP, FileZilla, etc.


Fetch


DISABILITY SERVICES

If you have a need for disability-related accommodations or services, please inform the Coordinator of Disability Services in the Dean of Students Office at 2001 C. B. Hedgcock Building (227-1700 or disserv@nmu.edu). Reasonable and effective accommodations and services will be provided to students if requests are made in a timely manner, with appropriate documentation, in accordance with federal, state, and University guidelines.


LAPTOP (and mobile device) CLASSROOM USE POLICY

As a computer scientist I am of course devoted to mobile computing and communication devices (that is, gadgets).  However, this course involves some deep concepts concerning the nature of computation, information, and communication, and indeed even human nature.  My experience is that most people, myself most especially, cannot be expected to really grasp these concepts in the classroom without long periods of unbroken attention.  As much as I value electronic-based multi-tasking (and I do think that we need to multi-task throughout the modern day), I have now come to the conclusion that certain insights into the universe cannot be conveyed while multi-tasking.  Period. 

Therefore, my policy is to allow laptop use during certain portions of the class period, as I announce them.  So there will be times, every class meeting, when I will demand that all laptop covers be closed (at least lowered so that they cannot be seen by anyone).   Such times will last perhaps 20-30 minutes, after which students will be allowed to open up and use their laptops for class exercises or lab work (the current assignment).  If a student absolutely needs to use his or her laptop for note-taking during the "deep lectures," then he or she can request individual permission from me. 

As for cell phones, PDAs, handheld game-consoles, iPods, etc., use of such devices will also not be allowed during "deep lecture" (cell phones can be set to "vibrate" or to some other inaudible notification mode) for receiving emergency calls.   There will be break times of five to ten minutes every half hour or so for students to check for messages, make short calls, etc.