Reference Course Outline for: CSE141: Introduction to Programming

Course Lead:

Abdul Wajed

Course Description


This course is designed to provide an understanding of fundamental concepts related to programming. It is an informative, entertaining and challenging course. It will enable students with little or no prior experience in software development to become problem solvers/programmers. Java is one of todays most popular and powerful programming languages. Java will be used as a tool for programming logic and concepts development. Students can use their preferred IDE such as Eclipse or Netbeans, but most classroom demonstrations will be in Eclipse. Students will complete several programming assignments to develop their problem-solving skills and to gain experience in detecting and correcting software errors.

Prerequisite(s):



Course Objectives:

One para description of the Course objectives.

Primary Coure Outline Link:

Primary Course Outline

Typical Semester in which this course is offered:

Fall

Programs in which course is offered:

BS(CS)


Course Outline


Introduction
What is a computer program? What is algorithm?, Types of Algorithm: Pseudo code, Flowcharting , History of C and C+, History of Java, Typical Java development environment, ,
Introduction to Java Applications
First program in Java, System.out.println, printf, Relational operator, data types, constant, variable, comments.
Introduction to Classes and Objects
What is Class, Objects, Methods and Instance Variables, Primitive Types, Reference Type, constructors?
Control Statement Part I
Control structure, decision making and filtering operations, if… else, while, nested control statements, assignment operator, increment and decrement operator
Control Statement Part II
How to handle repetitive task or iterative task?, for, do … while, switch, break, continue, logical operators
Methods Part I
Declaring methods, Single parameter and multiple parameters, static method, Method call stack, argument promotion and casting, Java API packages, scope of declaration.
Recursive Methods and Method overloading
Method overloading, recursion, examples using recursion, Factorial, Fibonacci, recursion vs. iteration.
Arrays
Declaring and creating arrays, using arrays, multi dimension array, enhanced for statement, passing arrays to methods.
Classes and Objects
Controlling access to member, this reference, default and no argument constructor, final instance variable, data abstraction and encapsulation, package access
Exception Handling (optional)
Overview, divide by zero with and without exception handling, finally block, predefine exception handler, declaring new exception types, java exception hierarchy.
Files and Streams (optional)
Data hierarchy, files and streams, class file, sequential access text files, object serialization
Collections (optional)
Class arrays, interface collection and class collections, lists, array list, iterator, linked lists, stack, Queue
GUI Components (optional)
Simple GUI based I/O, overview of Swing components, JButton, JCheckBox, JRadioButton, JTextArea, JPanel, mouse event handeling.

Text Books


JAVA for Programmers, Paul J. Deitel and Harvey M., DeitelDeitel Developer Series, Prentice Hall

Reference Books

How to Program Using Java by Tony Jenkins and Graham Hardman Palgrave Macmillan
Java in a Nutshell by David Flanagan, O'Reilly Press

Tools

Java Standard Edition (SE) and JDK 6
Eclipse
Rational Rose


Web Resources

http://java.sun.com/j2se/ (Standard Edition)
http://www.eclipse.org
http://java.sun.com/docs/books/tutorial/java/
http://www.javaworld.com
http://jcp.org
http://eclipsetutorial.sourceforge.net/totalbeginner.html


Grading Policy (tentative)

1. Midterms 40 Marks
2. Quizzes 5 Marks
3. Assignments/Class Participation 5 Marks
4. Project 10 Marks
5. Final Exam. 40 Marks

Download(s)

OutlineIntroductiontoProgrammingFall2009.pdf