0% found this document useful (0 votes)
155 views

COSC1046 - Course Outline

This document provides an overview and outline for a course titled "COSC1046 – Introduction to Computer Science I". The course is intended to introduce programming and problem solving skills using the Java language. It will cover basic Java syntax, variables, selection statements, methods, arrays, and objects. The course is divided into 5 modules covering these topics over 4 weeks. Students will complete programming labs and tests to assess their understanding of the material.

Uploaded by

Yashkaran 001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
155 views

COSC1046 - Course Outline

This document provides an overview and outline for a course titled "COSC1046 – Introduction to Computer Science I". The course is intended to introduce programming and problem solving skills using the Java language. It will cover basic Java syntax, variables, selection statements, methods, arrays, and objects. The course is divided into 5 modules covering these topics over 4 weeks. Students will complete programming labs and tests to assess their understanding of the material.

Uploaded by

Yashkaran 001
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

COSC1046 – Introduction to Computer Science I

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

Suggested Course Evaluation


Programming Labs: 30%
Tests: 40%
Final Exam: 30%

**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:

 Understand the structure and components of the Java programming language.


 Utilize common software components and IDE’s to create, compile, run and test java programs.
 Use the operating system of the computer to manage files and programs during the
development process.
 Analyze complex problems involving multiple data types, including objects, Strings, and arrays,
multiple types of control structures, and describe a solution to the problem in pseudo code.
 Write, compile, run and test complex problems using the Java programming language.
 Understand the context of the programming process within the Field of Computer Science
Course Content
Module 1 - Programming in Java, variables and selection statements

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

By the end of this Module you will:

 Outline the history of the Java programing language


 Install the latest version of Java and the Eclipse Integrated Development Environment (IDE)
 Write Compile and Execute a simple Java program
 Write code to accept data from keyboard input
 Distinguish between the various numeric data types
 Define the rules for valid Identifiers in Java
 Declare and use variables in simple Java programs
 Assign values to variables
 Manipulate variables using various arithmetic operators
 Declare Boolean variables and write Boolean expressions using relational and logical operators
 Implement selection control using if/else and switch statements
 Write simple Java programs that implement selection statements

References

 Text Chapters: 1 – 3

Module 2 - Math Methods, Characters, Strings and Looping Structures

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.

By the end of this Module you will:

 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.

By the end of this Module you will:

 Define methods to perform various tasks


 Define Methods making appropriate use of parameters and return values
 Develop efficient reusable code

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.

By the end of this Module you will:

 Declare and initialize single and multi-dimensional arrays


 Use loops to access and process data stored in arrays
 Use arrays as arguments and return values for methods
 Apply sorting and searching algorithms to arrays
 Write programs with arrays as the main data structures

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.

By the end of this Module you will:

 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

Programming Lab #2 Day 3


Module 1 Test (Suggested, assessment
format to be determined by professor)

Module 2 – Math Methods, Characters, Strings Chapters: 4 – 5 15% - 3 days


and Looping Structures
Unit 1 – The Math Class (Reference only) 4.1, 4.2 Day 4
Unit 2: Working with characters and Day 4
strings
Video: Working with characters 4.3, 4.4, 4.5, 4.6
and strings
Programming Lab #3 Day 5
Unit 3: Programming with loops Chapter 5 Day 5
Video 1 – Loops in Java
Video 2 – Nested Loops
Programming Lab #4 Day 6
Module 2 Test (TBD)

Module 3 - Methods Chapter 6 20% - 4 days


Unit 1: Defining and Calling Methods; Day 7 - 8
Parameters and Return Values
Video 1 – Method Basics 6.2, 6.3, 6.4, 6.5
Video 2 – Method Code 6.3, 6.5
Execution Analysis
Unit 2: Advanced Method Properties and Day 9 - 10
Applications
Video 1: Method Overloading, 6.6, 6.8, 6.9, 6.11
Variable Scope, Modularisation
and Abstraction

Programming Lab #5 Day 10


Module 3 Test (TBD)

Module 4 - Arrays Chapters 7 - 8 30% - 6 days


Intro Video: Overview of Arrays Day 11
Unit 1 – Single Dimensional Arrays Chapter 7 Day 11 - 13
Video 1: Array Basics Part 1 7.2
Video 2: Array Basics Part 2 7.2
Video 3: Case Study - Deck of 7.4
Cards
Video 4: Searching, Sorting and 7.6 - 7.12
the Arrays Class
Programming Lab #6 Day 13
Unit 2 – Multi-Dimensional Arrays Chapter 8 Day 14 - 16
Video 1 - 2-D Array Basics 8.1 – 8.4
Video 2 – Case Study: Multiple 8.5
Choice Test
Programming Lab #7 Day 16
Module 4 Test (TBD)

Module 5 – Objects and Classes Chapter 9 20% - 4 days


Intro Video – Not Complete
Unit 1 - Defining classes, creating and Day 17 - 18
referencing objects
Video 1 – Introduction to Classes
and UML diagrams
Video 2 – Coding and Testing the
TV class
Unit 2: Advanced Features Day 19-20
Video: Advanced Features

Programming Lab #8 Day 20


Module 5 Test (TBD)
Final Exam (TBD)

You might also like