COSC1046 - Course Outline
COSC1046 - Course Outline
Course Description
In conjunction with COSC 1047 this course provides the first year concentration requirements for B.Sc.
and B.COSC majors in Computer Science and majors in Mathematics. The first year of Computer Science
is intended to develop the student's problem solving skills using the computer and to prepare the
student for the core second year courses, COSC 2006/7 (Data Structures I/II) and COSC
2406 (Assembly Language Programming). Previous programming experience is not required.
Nevertheless, this is a fast-paced course that involves problem solving, a serious introduction to
programming, and an introduction to some of the mathematical foundations of Computer Science. The
Java programming language will be used throughout first year courses. The student will learn to work in
an “object-oriented” programming environment.
Required Text:
Y. Daniel Liang, Introduction to Java Programming, Brief Version, 11th Edition ISBN:
9780134671697
**The number of tests and programming labs will be determined by the professor delivering the course,
and will depend on the length of the course. 5 Module tests plus a final exam in a 4 week span is likely
not feasible for example.
Course Objectives
Students who successfully complete the course have reliably demonstrated the ability to:
This module introduces programming basics in Java. The understanding is that students have prior
programming experience, but perhaps not in Java. This module covers basic Java syntax, using variables,
console input, and selection statements
References
Text Chapters: 1 – 3
The Math class is one of several predefined classes that are part of the Java language and it allows for
more advanced calculations such as exponents, roots and trig functions. Programs do not only deal with
numeric data, however, and in this Module we will also study the char data type, which is used for
storing single characters, as well as the String class which we will use for storing and manipulating
'strings' or sequences of multiple characters.
Finally we will study the three types of looping structures available in Java, understand the differences
between them and learn to identify which situations are best suited to each type of loop.
Write code to solve mathematical problems by using the methods in the Math class
Store and manipulate character data
Store and manipulate character strings using the String class and methods
Write programs that implement the Math and String classes
Follow the loop design strategy to develop loops.
Write loops using while, do-while and for statements.
Code simple programs for executing statements repeatedly using loops
Discover the similarities and differences of three types of loop statements.
Write nested loops.
References
Text Chapters: 4, 5
Module 3 - Methods
Methods are relatively short bits of code that perform a specific task. These "mini-programs" are given
identifiers (names) just like variables. Once named, they can be invoked easily just by "calling" them by
their name. You have already studied and programmed with a number of pre-defined methods through
your work with the Math and String classes in Module 2 (Math.pow() for example).
In this module you will start writing your own custom methods.
References
Text Chapter: 6
Module 4 - Arrays
Arrays are built-in data structures that allow you to store multiple values under a single identifier. In
this module you will learn the basics of working with single-dimensional arrays as well as more complex
two and multi-dimensional arrays.
References
Text Chapters: 7, 8
Module 5 - Objects and Classes
Objects and classes are the foundation of Object Oriented Programming, and will start you on the path
of “thinking in objects” when you design programs.
The origins of the object oriented programming model go back to the 1960’s, but it began to take hold
as the dominant paradigm in the mid 80’s in conjunction with the growth in the development of
programs with graphical interfaces. Today almost all major programming projects make use of the OOP
model.
Create custom classes and create 'instances' or objects from those classes
Use UML graphical notation to describe classes
Access an object's data and methods
Store and process objects in arrays
References
Text Chapter: 9
Course Content: Unit/Lesson breakdown
Assigned Reading Time Allocation (Days
based on a 4-week, 20
day course)
Module 1 - Programming in Java, variables and Chapters 1 – 3 15% - 3 days
selection statements
Unit 1- Java Overview and Installation 1.5, 1.6, 1.12 Day 1
Unit 2 – Writing, Compiling, Executing 1.7, 1.8, 1.9, 1.10 Day 1
and Debugging
Video 1 – Creating and executing
a simple Java Program
Video 2 – Common Error Types
Unit 3: Storing Data – Console Input, 2.1 – 2.15 Day 1
Variables and Operators
Video 1 – Elementary
Programming with Java Part 1
Video 2 – Elementary
Programming with Java Part 1
Programming Lab #1 Day 2
Unit 4: Boolean expressions and Selection 3.1, 3.2, 3.3, 3.4, 3.5, Day 2
Statements 3.10, 3.13, 3.14
Video 1 – Booleans and Selection
Statement Examples