COSC 1P02

Introduction to Computer Science

2020/21


Course Description

COSC 1P02 is an introduction to Computer Science. Computer Science is the study of information and its transformation via algorithms. Typically, information is stored on a computer system and is transformed by programs—algorithms written in a programming language. COSC 1P02 introduces the programming language Java and teaches the process of analyzing, designing, testing and debugging programs.

Course Sakai Site

      COSC-1P02-2021-Winter

Staff

  Instructor
  Earl Foxwell
  Tutorial Leader
  Maysara Al Jumaily [email protected]
  Course Coordinator
  Maysara Al Jumaily [email protected]
  Mentor
  Poling Bork [email protected]
  Help Desk
  (TBA)


Textbook

Introduction to Computer Science; D. Hughes; (2014); Available “print-on-demand” from Campus Store or as a free ebook download from COSC 1P02 Sakai site.

Software

Dr. Java is used in the laboratories and class. Students must install Dr. Java on their home computers. There is a link to the download and setup instructions on the 1P02 Sakai site. These will be covered during the first tutorial. 

Mac users who installed Big Sur may find it easier to use the Windows Virtual Desktops run by ITS.

Course Learning Outcomes

Upon successful completion of this course, students will be able to:

      ●  List significant events in the evolution of modern computing systems

      ●  Describe the organization of a basic computer system

      ●  Describe the representation of various types of information

      ●  Explain the execution of the fundamental control structures

      ●  Explain method call process including parameter passing

      ●  Explain scope and visibility in a program example

      ●  Describe the role of objects and classes in programs

      ●  Analyze and explain the behavior of simple programs involving control structures and method calls with parameter passing

      ●  Choose appropriate data types for representation of information

      ●  Choose appropriate control structures in solution of a problem

      ●  Apply procedural abstraction to decompose a problem

      ●  Use various APIs in the development of a problem solution

      ●  Use an IDE in the development of programs

      ●  Apply coding/documentation standards in the preparation of a program solution

      ●  Adopt coding/documentation standards as a mechanism for developing readable/modifiable programs.

      ●  Understand Intellectual Property and appreciate its place in academic society and the computing profession


Marking Scheme

Tutorial Participation
10%
Laboratory Participation
10%
Assignments
42%
Term Test (during reading week)
4%
Final Exam (TBA)
34%


Assignments

Number
Topic
1
repetition/nesting
2
methods
3
parameters
4
pictures/sounds
5
collections
6
I/O or multi-class

Notes

●  As part of Brock University's commitment to a respectful work and learning environment, the University will make every reasonable effort to accommodate all members of the University community with disabilities. If you require academic accommodations related to a permanent disability to participate in this course, you are encouraged to contact the Student Accessibility Services (4th Floor Schmon Tower ext. 3240) and also to discuss these accommodations(s) with the professor/instructor.

●  Assignments will be available on-line. Assignments are due at the time and date specified above. Late assignments will be accepted, subject to a penalty of 25%, up to three days late.

●  Assignments will be carefully examined regarding plagiarism. Cases of suspected plagiarism will be dealt with according to the University regulations and Departmental procedures. A Software Similarity Evaluator will be used to electronically compare assignments for the purpose of detection and prevention.

      ○  Be advised that unauthorized distribution of university-provided materials may constitute both academic and non-academic misconduct and may be prosecuted as such. Additionally, Sakai access will be revoked immediately.

      ○  In the event of any penalties prescribed by the dean, we will be unable to extend grading considerations, e.g. dropped bases, curves, etc.

      ○  Penalties for misconduct range from -100% for the piece of work, to zero in the course, to suspension, to removal from Computer Science (e.g. for repeat or egregious offenses)

●  The exam & test will be online through Sakai and are to be completed individually. Collaboration or the use of any external source (Internet site, book, email) will be treated as academic misconduct.

      ○  Any submission that interferes with our ability to grade other students will be summarily deleted; additional accommodations or remedies will not be offered.

●  The term test will be held during reading week.

●  A mark of at least 40% on the final exam is required to achieve a passing grade in this course.

●  Exam and test submissions which interfere with our ability to grade the work of others may be summarily deleted. In such cases, no alternative will be provided, so please follow instructions carefully.

●  Consideration regarding illness for assignment submission or test dates will only be considered if accompanied with the completed Medical Excuse form https://brocku.ca/registrar/wp-content/uploads/sites/45/Medical-Certificate.pdf. Forms must be submitted within 3 working days of return from illness.

●  Mar 5th is the last day for voluntary withdrawal without academic penalty, 15% of the final grade will be available to students by Feb 26th .


Week
Date
Topics
Tutorial Exercises
Laboratories
1
Jan 11-15
  Computer systems, history, hardware, software, a Java program
  No tutorial
  No labs
2
Jan 18-22
  Turtle Graphics – variables, repetition

  L1: Java setup, development environment
3
Jan 25-29
  Turtle Graphics – methods, expressions
  Ex 1: variables, references, nesting
  L2: repetition, composition
4
Feb 1-5
  Methods – parameters, scope
  Ex 2: expressions
  L3: methods
5
Feb 8-12
  Pictures – pixels, colours, control structures, functions
  Ex 3: scope, parameters
  L4: parameters

Feb 15-19
  Mid-term break
Midterm Test  
6
Feb 22-26
  Sounds – samples, iteration, maximum
  Ex 4: control structures
  L5: pictures
7
Mar 1-5
  Collections – 1D indexing, 2D indexing
  Ex 5: booleans
  L6: pictures, sounds
8
Mar 8-12
  Data – input, files, EOF, reports, output
  Ex 6: indexing
  L7: data processing
9
Mar 15-19
  GUI – forms, widgets, switch
  Ex 7: debugging
  L8: GUIs
10
Mar 22-26
  Classes – objects, multiple classes, class design
  Ex 8: widgets
  L9: multiple classes
11
Mar 29-Apr 2
  Persistence – files, binary files, object I/O
  Ex 9: class design
  L10: persistence
12
Apr 5-9
  Files – file processing, merge, update
  Ex 10: code reuse
  Review