Friday, November 25, 2011

Project submission

All students are advised to submit their project by tomorrow at 5 pm.

Regards,
Asad Yousufi
Manager Software Engineering Foresight Technologies PVT. Ltd
Sent from my Nokia phone

Wednesday, November 23, 2011

Final Lab time update

In order so resolve final lab time conflict with communication skills presentation, final lab is scheduled to be stared at 5 PM, since students previously confirmed 24 as a free day for lab it was scheduled for full day activity.

Ragards,
Asad Yousufi
Sent from my Nokia phone

Tuesday, November 22, 2011

Final Lab

This post is published as a reminder of final Lab exam date and time:

Final Lab exam is scheduled on 24 of November, all students must appear at 3:30 pm at ground floor lab.

Tuesday, November 15, 2011

Short attendance notice!

Attendance percentage appeared Red for students having attendance below 75% in online attendance and marks sheet.

Link to attendance sheet:
https://docs.google.com/spreadsheet/ccc?key=0ArGVlyT5tewQdFFFc3J3NTFDODNFQ1hVTmNFNDZ0aEE&hl=en_US#gid=0

These students are not eligible for appearing in final lab and exam.

Such students must have to get an approval letter stamped and signed by chairman, and present it on attendance of lab and final exam.

Regards,
Asad Yousufi

Thursday, November 10, 2011

Project Assignment Document Updated

Your project Assignment document is updated, all students are advised to download the latest copy.

Project can be coded in Java or C# language.
Stack/queue position must be displayed on every iteration.

For trees and heaps projects, a tree triversing must me coded to display tree structure on console screen.

For graphs project, there should be a method that can print all edges and vertices and their associated properties as output.

Friday, October 28, 2011

Project Assignment Sheet

All students are advised to download the project assignment sheet and start working on their project, dead line of project submission is 24th of November 2011 (Lab Exam Day)

Saturday, October 22, 2011

Data-Structures Project Group Enrollment

All group leaders or individuals are advised to enroll their group by latest Wednesday 26 October 2011, by submitting the following form:


Project Group Enrollment Form


If anybody individual like to do the project, he becomes the Group Leader of his individual student group.
on 27October 2011, project objectives will be published and choices of these objectives to the groups will be assigned insahAllah.


Best of luck

Friday, June 24, 2011

Marks Finalization

Students that have queries regarding their assignment marks or like to improve their lab marks if they have scored below 12 marks in Lab Exam should appear tomorrow Saturday 25th June 2010 at 3:30 pm. Note that after tomorrow no request to fix assignment marks or lab marks will be accepted.

Saturday, May 21, 2011

Students that get below 12 marks in Lab Exam

There is an opportunity to fix failed or improve result, by proposing a Console Application (Application similar to student case study we have done in class) by next Tuesday 5:00 pm that is 24/May/2011, and present the assignment by Next Saturday that is 27/May/2011.

Maximum 12 marks can be granted to these students, therefore anyone who already gain 12 or more marks, please ignore this post.

Best of luck!

Thursday, May 19, 2011

Lab Exam

Lab Exam is scheduled to be held on cumming Saturday 21st May 2011 at 3:30 pm

Only those groups are allowed to give presentation that receive acknowledgement email, others must have to appear in Lab Exam.

Best of Luck!

Tuesday, April 19, 2011

Assignment

Create Search function for Binary Search Tree (BST) Recursion example developed in lab, this assignment contain 3 marks.

An optional assignment for class contains 5 marks (for compensation of marks students lost in Mid-Term) is as:
Similar to BST, structure we can create a structure to represent Digital Computer Logic Gates (Positive Input, Negative Input AND, OR. NOT and LED for result)

1. Create structure that can represent Logical Gates mentioned above.
2. Prepare a digital circuit, but using all type of gates, input and LEDs for out put.
3. Write a recursive method to compute the true/false value of LED  


If any student/group produce this program they will be rewarded with 5 marks in their Mid-Term Exam score.

Good Luck!

Monday, March 28, 2011

Mid-Term Exam

Mid-Term exam was postpone due to picnic, now it is reschedule as Saturday  9 April 2011, it also includes programming questions besides programming MCQs, and marks of Mid-Term are increased up-to  10 marks.

Monday, March 21, 2011

Assignment # 7

Complete remaining use-cases in given code that are:

7. Assign Course to Student (By fisr displaying the courses available and courses currently assigned to the student, course should not be double assigned to any student, not more than 5 courses can be assigne to a student.
8. Display course.

There will be a group viva for the code you or your group submitted during mid-term exam.

Mid-Term Exam will cover:
1. Use-case diagrams (need to draw uses cases out of text description)
2. Use-case narratives, activity diagrams and class diagram by using potential actor lists.
3. Given a program for reverse engineering.( Crate Use-case diagram, and other UML out of a C# program)
4. MCQs for C# programming.

Marking every question set contain 25 marks, therefore paper will be 100 marks. Obtained marks will be converted out of 7 marks on the bases of percentage.

Good Luck

Monday, March 14, 2011

Assignment # 6

Implement following cases in previously given code sample:

1. Add New Course
2. Edit Course
3. Display Courses

Friday, March 11, 2011

Assignment # 2 Project

Below is the download link of the project file in RAR format of partial solution of Assignment #2

Download Assignment #2 Solution

Monday, February 21, 2011

OOPS Student's Progress Sheet

Student progress and marks breakup sheet is published as under:

Progress Sheet 

Marks Breakup:
Assignments      26
Mid-Term            7
Presentation        7
Lab Exam           20
Attendance        10
Final Exam          30
==================
Total                 100

Assignment # 3

Create class Player with following attributes:
string Name
// Below are skills for a cricket player valid range for a skill is 1 to 10
int Batting
int Bowling
int Fielding
int Running
// Valid range 0.00 to 100.00
double RunningAverage
// Valid range 2.00 to 10.00
double BowlingAverage
//Valid range is from 0 to 15
static int playerNumber=0;

Provided Behaviors are:
private int RandomNumber(int min, int max)
        {
            Random random = new Random();
            return random.Next(min, max);
        }
        private double RandomNumber()
        {
            Random random = new Random();
            return random.NextDouble();
        }


1.       Create a null parameter(default) constructor to that sets player name to as “Player”+PlayerNumber and increments playerNumber static attribute, it also sets player skills attributes to random values.
2.       Create a constructor that takes player’s name as parameter and fill reset of the values randomly.
3.       create a constructor that takes all player’s name and batting skills as parameters and fills rest of the attributes randomly
4.       Create a constructor  that takes player’s  name and bowling skills as parameters and fills rest randomly
5.       Create a behavior / method displaySmary() that display player’s Name and summary of his skills
6.       Create several players by using different constructors you have created and call displaySummary() method.

Assignment # 4

Create a class Team with following attributes:
string TeamName
player [] players;
static int players;
int Win
int Lose
int Draw

1.       Create a constructor that accepts an array of Players, team Name.
2.       Create a constructor that takes all attributes a parameters except player array.
3.       Create a method to add player in team addPlayer(Player objPlayer)
4.        Create a method to remove a player from team if it already added in array of players removePlayer(Player objPlayer)
5.       Create a method to display team summary displayTeamSummary()
6.       Create a program and demonstrate your constrictors and methods

Sunday, February 13, 2011

Assigment # 2 Classes, objects and methods/functions


Objective: 
Create a program that takes input of  Student registration, courses and their scores, the produce Marks-Sheet, this program should never exit until user input "exit" in any of field, once it produces the Mark-Sheet it asks for exit or continue with new Mark-Sheet

Details:
Create a class “Student” that keeps infgormation about student and it’s course scores

Name
Father Name
Class
CourseOneName
CourseOneScore
CourseTwoName
CourseTowScore
CourseThreeName
CourseThreeScore
CourseFourName
CourseFourScore
CourseFiveName
CourseFiveScore

Create Following Functrions/Methods
int calculateTotalScore()
calculates toltal of student’
Double calculatePercentage{}
This function will use calculateTotalScore() fucntion to get total score and calulate percentage
void displayMarksSheet() {}
User ASCII characters and Tabs to produce marksheet  on screen.
This method should use calculatePercentage() and calculateTotalScore() functions to produce Mark-Sheet

Assigment # 1 Loops in C#

Create a program to create pyramid of strikes "*" by taking input of number of rows in the pyramid
2 rows pyramid looks like

 *   
**

3 rows pyramid looks like

     *
   ***
  ****

Create similar program by using

For loop
While Loop
Do While loop

Saturday, January 29, 2011

Course Outline BSCS-413 Object Oriented Programming

Week # 1:

Theory:

1.       Introduction of OOP paradigm.
2.       Comparison with procedural programming paradigm.
3.       Assignment

Lab:

1.       Object-Oriented Programming
2.       Encapsulation
3.       Polymorphism
4.       Inheritance
5.       A First Simple Program
6.       Using csc.exe, the C# Command-Line Compiler
7.       Using the Visual Studio IDE
8.       The First Sample Program, Line by Line

Week # 2: (Chapter 5)

Theory:

1.       Introduction to System Analysis.
2.       Model Driven Analysis Methods
a.       Model Driven Approaches.

Lab:

1.       Handling Syntax Errors
2.       A Small Variation
3.       A Second Simple Program
4.       Another Data Type
5.       Two Control Statements
6.       The if Statement
7.       The for Loop
8.       Using Code Blocks
9.       Semicolons, Positioning, and Indentation
10.   The C# Keywords

Week # 3: (Chapter 7)

1.       Introduction to Object Oriented Analysis and Design
2.       An Introduction to Use-Case Modeling
3.       System Concepts of Use-Case Modeling
4.       Use-Case And Project Management
5.       The .Net Framework class Library

Lab:

1.       Data Types, Literals, and Variables
2.       Why Data Types Are Important
3.       C#’s Value Types
4.       Integers
5.       Floating-Point Types
6.       The decimal Type
7.       Characters
8.       The bool Type
9.       Some Output Options
10.   Literals
11.   Hexadecimal Literals
12.   Character Escape Sequences
13.   String Literals
14.   A Closer Look at Variables
15.   Initializing a Variable
16.   Dynamic Initialization
17.   Implicitly Typed Variables

Week # 4: (Chapter 10)

1.       Introduction to Object Modeling
2.       Introduction to Unified Modeling Language (UML)

Lab:

1.       The Scope and Lifetime of Variables
2.       Type Conversion and Casting
3.       Automatic Conversions
4.       Casting Incompatible Types
5.       Type Conversion in Expressions
6.       Using Casts in Expressions  

Week # 3 (Chapter 10)

1.       System Concepts of Use-Case Modeling
a.       Objects and attributes
b.      Objects and object instances

Lab:

2.       Operators
3.       Arithmetic Operators
4.       Increment and Decrement
5.       Relational and Logical Operators
6.       Short-Circuit Logical Operators
7.       The Assignment Operator
8.       Compound Assignments
9.       The Bitwise Operators
10.   The Bitwise AND, OR, XOR, and NOT Operators
11.   The Shift Operators
12.   Bitwise Compound Assignments
13.   The ? Operator                       
14.   Spacing and Parentheses
15.   Operator Precedence

Week # 4: (Chapter 10)

1.       Behavior and Encapsulation
2.       Object classes

Lab:

1.       Program Control Statements
2.       The if Statement
3.       Nested ifs
4.       The if-else-if Ladder
5.       The switch Statement
6.       Nested switch Statements
7.       The for Loop
8.       Some Variations on the for Loop

Week # 5 (Chapter 10)

1.       Inheritance
2.       Generalizations / specialization
a.       UML representation
b.      Object Class Relationship  

Lab:

1.       The while Loop
2.       The do-while Loop
3.       The foreach Loop
4.       Using break to Exit a Loop
5.       Using continue
6.       return
7.       The goto

Week # 6: (Chapter 10)

1.       UML Multiplicity Notations
2.       Aggregation
3.       Composition
4.       Messages

Lab:

1.       Introducing Classes and Objects
2.       Class Fundamentals
3.       The General Form of a Class
4.       Define a Class
5.       How Objects Are Created
6.       Reference Variables and Assignment

Week # 7 (Chapter 10)

1.       Polymorphism
2.       UML 2.0 Diagrams

Lab:

1.       Methods
2.       Add a Method to the Building Class
3.       Return from a Method
4.       Return a Value
5.       Use Parameters
6.       Add a Parameterized Method to Building
7.       Avoiding Unreachable Code

Week # 8 (Mid Term Quiz)

Week # 9 (Chapter 10)

1.       UML 2.0 Diagrams (Cont..)
2.       The Process of Object Modeling

Lab:

1.       Constructors
2.       Parameterized Constructors
3.       Add a Constructor to the Building Class
4.       The new Operator Revisited
5.       Using new with Value Types
6.       Garbage Collection and Destructors
7.       Destructors
8.       The this Keyword

Week # 10 (Chapter 10)

1.       The Process of object Modeling (Cont…)

Lab:

1.       Arrays and Strings
2.       Arrays
3.       One-Dimensional Arrays
4.       Multidimensional Arrays
5.       Two-Dimensional Arrays
6.       Arrays of Three or More Dimensions
7.       Initializing Multidimensional Arrays
8.       Jagged Arrays
9.       Assigning Array References
10.   Using the Length Property
11.   Using Length with Jagged Arrays
12.   Implicitly Typed Arrays
13.   The foreach Loop
14.   Strings
15.   Constructing Strings
16.   Operating on Strings
17.   Arrays of Strings
18.   Strings Are Immutable
19.   Strings Can Be Used in switch Statements

Week # 11 (Chapter 10)

1.       Modeling Use-Case Activities
2.       Drawing System Sequence Diagrams

Lab:

1.       A Closer Look at Methods and Classes
2.       Controlling Access to Class Members
3.       C#’s Access Modifi ers
4.       Applying Public and Private Access
5.       Controlling Access: A Case Study
6.       Pass References to Methods
7.       How Arguments Are Passed
8.       Use ref and out Parameters
9.       Use ref
10.   Use out
11.   Use ref and out on References
12.   Use a Variable Number of Arguments
13.   Return Objects
14.   Return an Array
15.   Method Overloading
16.   Overload Constructors
17.   Invoke an Overloaded Constructor Through this
18.   Object Initializers
19.   The Main( ) Method
20.   Return Values from Main( )
21.   Pass Arguments to Main( )
22.   Recursion
23.   Understanding static
24.   Static Constructors
25.   Static Classes

Week # 12 (Chapter 10)

1.       Finding and Identifying the business objects
2.       Class Diagrams

Lab:

1.       Inheritance
2.       Inheritance Basics
3.       Member Access and Inheritance
4.       Using Protected Access
5.       Constructors and Inheritance
6.       Calling Base Class Constructors
7.       Inheritance and Name Hiding
8.       Using base to Access a Hidden Name
9.       Creating a Multilevel Hierarchy
10.   When Are Constructors Called?
11.   Base Class References and Derived Objects
12.   Virtual Methods and Overriding
13.   Why Overridden Methods?
14.   Applying Virtual Methods
15.   Using Abstract Classes
16.   Using sealed to Prevent Inheritance
17.   The object Class
18.   Boxing and Unboxing
19.   Is object a Universal Data Type?

Week # 13 (Chapter 18)

1.       The Process of Object Oriented Design
2.       Design Use-Case
3.       Modeling Class Interactions Behaviors and States

Lab:

1.       12 Interfaces, Structures, and Enumerations
2.       Interfaces
3.       Implementing Interfaces
4.       Using Interface References
5.       Interface Properties
6.       Interface Indexers
7.       Interfaces Can Be Inherited
8.       Name Hiding with Interface Inheritance
9.       Explicit Implementations
10.   Choosing Between an Interface and an Abstract Class
11.   The .NET Standard Interfaces
12.   Structures
13.   Enumerations
14.   Initialize an Enumeration
15.   Specify the Underlying Type of an Enumeration
16.   Use Enumerations

Week # 14 (Presentation)

Books:

C# 3.0 The Complete Reference (Herbert Schildt)

System Analysis and Design Methods 7th (Whitten  , Bentley)