first-year

advertisement
First Year in a
Computer Science Module
@ Western
1
Overview
 First year computer science students take:
 Primary 2 course sequence
 Computer Science 1026A (Computer Science Fundamentals
I) and Computer Science 1027B (Computer Science
Fundamentals II)
 1025A is available for students with programming
background that wish to engage in more advanced
concepts/challenges
 Calculus 1000A and Calculus 1201B/1301B/1501B or Linear
Algebra 1600A/B
 Three options:
 At least one option must be an Arts or Social Science full
year credit
 Linear Algebra 1600A/B could be useful later on in
Computer Science, if student plans to take any graphics
courses
2
Bioinformatics
 Bioinformatics first year student must take:
 Computer Science 1026A (or 1025A) and Computer
Science 1027B
 Calculus 1000A and Calculus 1201B/1301B/1501B
or Linear Algebra 1600A/B
 Biology 1222/1223
 Chemistry 1050
 One Arts or Social Science option
3
Possible Modules













Honors Specialization in Information Systems
Honors Specialization in Computer Science
Specialization in Computer Science
Major in Computer Science
Minor in Computer Science
Minor in Software Engineering
Minor in Applications of Computer Science
Minor in Computer Algebra
Minor in Game Development
Minor in Theoretical Computer Science
Honors Specialization in Bioinformatics (Computer Science Concentration)
Honors Specialization in Bioinformatics (Biochemistry Concentration)
Combined Honors BSc Computer Science/LLB
4
CS1026A: Computer Science
Fundamentals I
 Introduction to Computer Science concepts;
fundamentals of programming and design
 Object-oriented programming
 Programming skills developed in Java
5
CS1026A
 Key Concepts
 Objects and Object-oriented design
 Primitive types, variables, modularity, classes
 Problem solving techniques: from problem to
programming solution
 Learn to read code; make use of existing libraries
 Makes use of a development environment: Dr. Java
(similar to Eclipse, NetBeans)
 Uses a multimedia approach
 Images, sound, video
 Representation
 Processing, e.g. pixel manipulation
6
CS1026A
 Programming done in Java
 3 Lecture hours and 1 2-hour hands on lab
per week
 Evaluation




Labs: 10%
Programming Assignments: 35%
Mid-term: 20%
Final: 35%
7
CS1026A
 Types of assignments
 Images and pixel manipulation
 Combine several images into one
 Morphing one image to another
 Create sequence of images to produce a
“movie”
 Text manipulation; file processing
 Process list of students, including photos
8
CS1026A
 Expected outcomes
 Basic understanding of the challenges of
programming
 Understanding of basic object-oriented
programming concepts
 Some problem solving ability
 Basic programming proficiency in Java
9
CS1025A: Computer Science
Fundamentals I+
 Assumes programming experience (with real programming
languages, e.g., C, Java, C++ … - HTML is NOT a real programming language)
 Ensures students are prepared for CS1027B (i.e.,
appropriate Java programming concepts and experience)
 Explores additional concepts
 Some team problem solving
 More challenging (and interesting??) assignments
 Gene matching using downloads from Genbank
 Monte Carlo simulation of options market
10
CS1025A
 Expected Outcomes
 Proficiency in Java, at least at the level of
CS1026A
 Greater awareness of problem solving techniques
 Broader understanding of the utility of
computing in solving problems in different
domains
11
CS1027B – Computer Science
Fundamentals II
 Intended for students who may want to go on
in Computer Science
 Much more difficult than CS1026a/b!
 Main focus: Organization and Manipulation of
Data
 Collections: Lists, Stacks, Queues, Trees
 Concept, Use, Implementation, Analysis
 Also: Searching and Sorting Techniques,
Analysis of Algorithms (math!)
12
CS1027B
 Programming done in Java
 3 lecture hours and 1 hands-on lab hour per
week
 Evaluation




Labs (10%)
Programming assignments (35%)
Midterm test (10%)
Final exam (45%)
13
CS1027B
 Types of programming assignments: Problem
solving using various data structures




Puzzles (Sudoku)
Games (Bingo, card games)
Simulations
Comparison of algorithms
14
CS1027B
 Expected Outcomes
 Ability to choose an appropriate data structure
for solving a problem
 Ability to do a time analysis of algorithms for
solving a problem, and so to choose an efficient
one
 Ability to differentiate between "interface"
(design) and implementation of a data structure
 More familiarity with object-oriented design
principles
15
CS1037B – Computer Science
Fundamentals II For Engineers
 Main topic: basic data structures for Electrical
Engineering students
 Electrical Engineering requires C++
 Tricky as a first programming language
 Extremely diverse background among students
 2/3 are EE students who do not know "pointers" after
completing the ENGSCI 1036 prerequisite
 1/3 of software engineering have substantial
background (could join the course in mid October).
 One hour weekly labs are critical.
16
Other First Year
Computer Science Courses
 CS1032A/B  Information System and Design
 Primarily for Management and Organization Students
 Topics include technological needs of businesses,
using/building databases and spreadsheets
 CS1033A/B  Multimedia and Communications
 Primarily for Arts and Social Science Students
 Topics include graphics, text, video, sound, website
design
17
Courses in Development
 Multimedia and Communications II
 A follow-up to CS1033A/B
 Topics include advanced website design, video and
image processing, introductory IP
 Medical Computing
 A course covering topics including patient records
management, medical imaging, computer aided
diagnosis, modeling (epidemiological,
kinesiological, etc.), robotic surgery
18
Courses in Development
 Introduction to the History of Computing
and Computers
 A survey course focusing on the cultural, political,
economic, and technological history leading to the
development and use of the modern computer
 The Internet: Triumph of Technology
 A course examining the great ideas in computing
that have contributed to the creation of the Internet
 Computers: The Expected and the Unexpected
 A course focused on what computers are capable
and incapable of, either now or in the future,
contrasting their capabilities against expectations
19
Questions?
20
Download