DWIT Credit Courses

DWIT Credit Courses

DWIT – 013 INTRODUCTION TO PYTHON PROGRAMMING

 

Nature of the course: THEORY+PRACTICAL

Total Credit: 2 (2 hours per week)

Course Code: DWIT-S4004

 

COURSE OVERVIEW

Introduction to Python is a two-credit course specially designed for second-year students of BSC.CSIT. The popularity of Python is widespread and has been the choice of many computer science students and programmers. The main motive of this course is to familiarise students with the basic programming tools of the most powerful programming language.

Python is a general-purpose programming language that supports the development of a wide range of applications including web applications, the internet of things, game development, robotics, artificial intelligence, machine learning, etc.

 

PREREQUISITE

The prior knowledge of any other programming language would be beneficial.

 

COURSE OUTLINE

Unit 1: Introduction to python

History, Features, Installation of Python, Execution of Python Program, Python Virtual Machine, Python as Interpreted Language

 

Unit 2: Datatypes in Python

Literals in Python, Built-in Format Function, Variables and Identifiers, Dynamic and Static Typing, Keywords in Python

 

Unit 3: Operators in Python

Arithmetic Operator, Logical Operator, Boolean Operator, Bitwise Operator, Membership Operator, Identity Operator, Operator precedence, Type Conversion

 

Unit 4: Input and Output

                 I/O Operations, Formatted I/O

Unit 5: Control Structures

Definition, Boolean Expressions, Relational Operators, Selection Control, Iterative Control, while loop, for loop, Break, and Continue, Definite vs Indefinite Loops          

Unit 6: Functions

Defining a Function, calling a Function, Returning Multiple Values from a Function, Pass by Object Reference, Recursive Functions

Unit 7: List, Tuples, Dictionaries, and Sets

List in Python, Common List Operations, List Traversal, Tuples, Traversing Nested Lists, Built-in Range Function, List Comprehensions, Associative Data Structure, Python Dictionaries, Iterating over Dictionaries, Sets in Python

Unit 8: File Handling in Python

 

Unit 9. Exception Handling in Python

 

Unit 10. Introduction to OOPS

            Classes and Objects, Inheritance and Polymorphism, Abstract Class and Interfaces

 

LEARNING OUTCOMES

  1. Sharpen the fundamental concepts of programming
  2. Utilize the core programming tools for problem-solving
  3. Learn how to design and program python applications
  4. Understand Object-Oriented Programming

 

ASSESSMENT METHOD

ASSESSMENT

WEIGHT

Assignment + Lab

30%

Mid Term Exam

30%

Project

40%

Nature of the course: Theory
Total Credit: 1 (1 hour per week)
Course Code: DWIT-S2-002 

 

COURSE OVERVIEW

Product Conceptualization is a one-credit course aimed at first-year computer science students of DWIT. The idea is to familiarize students with various aspects of developing software starting from the idea to actual development/implementation.

The course will cover various components like identifying a problem and try to solve the problem through the use of software applications. In the process, students are made aware of how to turn an idea into a concept, assess what kind of software will best solve the problem, the concept of MVP (Minimum Viable Product), finding the right user group of the product, and will also briefly touch upon the idea of generating revenue from the product.

By the end of the course, students are expected to be familiar with various aspects of building software and apply those learnings while developing their own software applications.

PREREQUISITE

None

COURSE CONTENT

  • Basics of building software 

  • Justification for the Idea, Idea vs Concept

  • Understanding of various components like background study, assessment of the market, need for domain knowledge 

  • SWOT analysis/concept of Minimum Viable Product etc.

  • Different types of applications (Mobile, Web-based, desktop, etc.)

  • SaaS and PaaS

  • Product Pricing - Strategies and Variables

Week / Chapter 1 

Background to the course, Assessment methods, Semester planning

Week / Chapter 2

Basics of Software development, Product Idea, and Product Concept 

 Week / Chapter 3

Software Development Consideration Factors – Problem-solving / Usefulness / Ease of Use

Week / Chapter 4 & 5 

Software Development Lifecycle / Agile V Waterfall / Requirement Gathering / Features

Week / Chapter 6 & 7

Software Design Considerations, User Interfaces UI and User Experience UI/X

Mid-Term

Week / Chapter 8 & 9 

Pricing a Software Product / Software as a service SaaS / Platform as a Service PasS

Week / Chapter 10 & 11

Marketing a Software Product

Week / Chapter 12

Concept of MVP

Week / Chapter 13

Revision 

Week / Chapter 14 & 15

Project Work

COURSE LEARNING OUTCOMES:

On completion of this course, students should be able to:

Learn basics of various aspects of developing a software product for commercial use 

  1. Gain a basic understanding of factors associated with commercial software development

  2. Deeper Insight into components of software - Design / Pricing / Marketing

  3. Develop a project concept based on the above understanding.

  4.  

ASSESSMENT METHODS:

 

Assessment

Weight

Learning Outcomes

   

1

2

3

Class Participation / / Assignments

20%

✔

✔

 

Mid Term Exam

20%

✔

   

Final Term Exam

30%

✔

✔

 

Project

30%

✔

✔

✔

 

Nature of the course: Theory + Practical
Total Credit: 2 (2 hours per week)
Course Code: DWIT-S1-003

 

COURSE OVERVIEW

This course helps students in learning the fundamentals of computing and enforces creativity and problem-solving skills in the easiest way possible. It also helps to create a variety of Scratch projects that include sprites, sounds, math operations, variables, and logic. In addition, students can be able to use and manage the various Scratch account features including sharing and remixing activities.

 

PREREQUISITE

Student should know basic skills about the mathematics.

 

COURSE CONTENTS

Chapter 1: Introduction about Computer Programming (2 hrs)

Introduction, need for computer programmers, blocky programs, types of project with scratch, comparison with similar programs

Chapter 2: The Basics of Scratch (4 hrs)

Introduction, history of scratch, computing basics, scratch account, design, scratch studio, differences between sprites and images, creating your own sprites, scratch’s block categories

Chapter 3: The First Project Basics (4 hrs)

Variables, program controls, conditions, adding movement to a sprite, adding sound, changing the colors, making sprite appear to speak and think

Chapter 4: Adding Interactivity and Math concepts (4 hrs)

Types of events triggered using a keyboard, adding clickable buttons, game story and design, game-keep score, signifying the game over, four mathematical operations, random numbers, comparing numbers, logic, and logical arguments

Chapter 5: Logic and adding sound (4 hrs)

Different types of blocks, repeating actions, different statements i.e. conditional, nested control, linking sound to a sprite, playing scratch’s sound, adding narration to your story

Chapter 6: Costumes and Background Changes (4 hrs)

Adding and changing costumes, backgrounds, graphic special effects, multiple sprites, size of sprites

Chapter 7: Project Activities (8 hrs)

Project Motivation, Project samples in scratch, Project Planning, Project Pitching, Project Presentation, and demo, Feedbacks

 

COURSE LEARNING OUTCOMES:

On completion of this course, students should be able to:

Learn core computational concepts such as iteration and conditionals

  1. Gain an understanding of important mathematical concepts such as coordinates, variables, and random numbers
  2. Develop skills in project management and improve social skills
  3. Boost the urge to implement their ideas

 

ASSESSMENT METHODS:

 

      Assessment            Weight          Learning Outcomes      
    1 2 3 4
Mid Term Exam 20%  âœ“      âœ“
Final Term Exam 30%  âœ“  âœ“    âœ“
Project 50%  âœ“  âœ“  âœ“  âœ“

 

Nature of the course: Theory + Practical
Total Credit: 2 (2 hours per week)
Course Code: DWIT-S1-005


COURSE OVERVIEW
Programming basics is a two-credit course aimed at the first semester of both BCA and BSc CSIT. This course helps students in learning the basics of computer programming and enhances problem-solving.


PREREQUISITE
None


COURSE CONTENT
Introduction to Programming Language 
●    Introduction to Programming Language: Levels of Programming Languages, Language Conversion, and Translators.
●    Comparing between compiler interpreter and assembler.

Language Specification
●    Language Specification: Introduction, Syntax, and Semantics of Programming, their comparison. Types of Error: Semantic Error and Syntax Error

Character Set and Data Types
●    Introduction to the Character set of C
●    Tokens in C: Identifiers, Keywords, Constants, Strings, Special symbols, and Operators.
●    Introduction to Variables, Datatypes and Escape Sequences
●    Writing Simple Program in C

Operators
●    Introduction to Operators and its types: Arithmetic Operators, Relational Operators, Logical Operators, Bitwise Operators, Assignment Operators, Misc Operators
●    Implementation of Various Operators in C language.

Decision Making
●    Introduction to Decision Making and Decision Control Statements: if statements, if-else statements, nested if statements, switch statements, and nested switch statements.
●    Understanding and Implementation of Various Decision-making Statements.

Loops
●    Introduction to Loops and Loop Control Statements: while loop, for loop, do...while loop, nested loops.
●    Understanding and Implementation of Various Looping Statements.

COURSE LEARNING OUTCOMES:
By the end of the course, a student should be able to write simple programs in Java.  They should be familiar with the following topics:
•    Primitive data types and expressions
•    Control flow operations (if-then-else, for loops, while loops)
•    Basic object-oriented concepts (classes, objects, instance variables, methods)
•    Subclassing, inheritance, and polymorphism
•    Abstract classes and interfaces
•    The Swing library for graphical user interfaces
•    Error handling and debugging
•    Documentation
•    Good programming style

ASSESSMENT METHODS:

Assessment Weight
Assignments 10%
Mid Term Exam 20%
Final Term Exam 20%
Project 40%

 

Nature of the course: Theory + Practical
Total Credit: 2(2 hours per week)
Course Code: DWIT-S2-003

COURSE OVERVIEW

JavaScript is a two-credit course aimed at fifth-semester fifth-semester students. It is an object-oriented programming language employed by most websites along with HTML and CSS to create robust, dynamic, and interactive user experiences. The JavaScript programming language was introduced in 1995 and has since become one of the most popular with support by all major web browsers.

 

PREREQUISITE

 Students should have a basic knowledge of HTML and CSS

 

COURSE CONTENT

Introduction

  • Comments
  • no script Tag
  • Strict Mode
  • Console Output
  • Variables
  • Prompt Box
  • Functions
  • Arithmetic Operators
  • Comparison Operators
  • Logical Operators
  • Bitwise Operators
  • Assignment Operators
  • Conditional Operator
  • Conditional Statements
  • Switch Statement
  • For Loop
  • For In Loop
  • While Loop
  • Do While Loop
  • Events
  • Cookies
  • Page Redirection
  • Dialog Box
  • HTML DOM

ES6 Features

  • Number
  • Date
  • Arrays
  • Math
  • Boolean
  • JS Version ES6
  • String

OOP in JS

  • This Keyword
  • Simple Class
  • Inheritance Override Super

JS and DOM

  • What is DOM?
  • Document and Window
  • DOM manipulation

 

Advance JS - Part1

  • Error Handling
  • Anonymous Function
  • Generator Functions
  • AJAX
  • Hoisting
  • Modules
  • Function Constructor

Advance JS - Part 2

  • Browser Navigator
  • Promises
  • Set Collection
  • Map Collection
  • JavaScript URI
  • Loop Labels
  • Multimedia Controlling
  • Template Literals

JS Revision and Introduction to Node JS

  • Class test which covers the whole thing which is taught
  • All basic fundamentals of Node JS
  • Variables
  • Functions and Closures
  • Node.js Performance
  • Node.js Internals
  • Thread, V8 Engine, Data-Intensive Applications

Node.js Concepts

  • Modules, Exports, and Require
  • Events and the Event Emitter
  • Asynchronous Code
  • The Event Loop, Streams, Files
  • Basics of Node.js HTTP
  • Express Web framework
  • Persisting Data

 

LEARNING OUTCOMES

  1. Know variable naming rules and JavaScript data types.
  2. Identify expressions and operators.
  3. Know flow control.
  4. Demonstrate objects and arrays usage.
  5. Define functions and methods.
  6. Define constructors and inheritance.
  7. Demonstrate usage of pattern matching with regular expressions

 

ASSESSMENT METHOD

At the end of the semester, students should submit a project.

 

Nature of the course: Theory + Practical
Total Credit: 2 (2 hours per week)
Course Code: DWIT-S3-002

 

COURSE OVERVIEW

Basic Linux is a two-credit course aimed at second-year computer science students of DWIT. The idea is to familiarize students with important and fundamental concepts of Linux server administration. More importantly, it helps students to be able to configure, maintain, and support a variety of Linux systems.

Linux is an operating system that is widely used on the server-side. Linux operating system is software that manages all of the hardware resources associated with computers. It’s an open-source operating system that is more secured and reliable.

 

PREREQUISITE

Students should have a basic knowledge of computer systems and architecture

 

COURSE OUTLINE

  1. Unit 1: Introduction to Linux (4hrs)

    1. History

    2. Distributions

    3. Licensing

    4. Installation of VMware/Virtual box

    5. Installation of Linux

  2. Unit 2: Files system and basic operations (12 hrs)

    1. Linux file system tree layout

    2. Basic commands for navigation

    3. Working with files, directories, file contents,

    4. Text Editors (vi, gedit)

    5. help

  3. Unit 3: File/directory permissions/Acl (4hrs)

  4. Unit 4: User and Group management (4hrs)

  5. Unit 5: package management (1hr)

  6. Unit 6: Shell Scripting (5 hrs)

 

LEARNING OUTCOMES

  1. To understand the basics of Unix like Operating System
  2. To understand virtualization
  3. To install VMware and Linux operating systems on it.
  4. To learn basic Linux commands
  5. To get the concept of shell scripting

 

ASSESSMENT METHOD

Assessment Weight
Assignment + Lab 30%
Mid Term Exam 30%
Project 40%

 

 

Nature of the course: Theory + Practical
Total Credit: 2 (2 hours per week)
Course Code: DWIT-S3-001

 

COURSE OVERVIEW

After the successful completion of this course, the students will be able to understand the syntax of the PHP language. They will be able to design a portfolio website. They will have the knowledge to perform CRUD operations on the database.

Students will be able to choose files from the system and perform open, read, write operations on one system. They can perform operations on a form like saving data from a form to send data to the server.

Students can create cookies and set cookies on the elements.

 

PREREQUISITE

Students should have a basic knowledge of HTML

 

COURSE OUTLINE

  1. Installing and configuring PHP
  2. Introduction to HTML
  3. Basic PHP Syntax
  4. Variables, Numbers, Dates, and Strings
  5. Control Structures
  6. How to use MySQL Database?
  7. Using PHP and MySQL Together
  8. How to create forms
  9. Working with Images

 

LEARNING OUTCOMES

  1. Understand 2 tier architecture (Client and Server)
  2. Explain the difference between the programming language and scripting language
  3. Create a database-based web application.

 

ASSESSMENT METHOD

Students will be evaluated on the basis of the project at the end of the semester

 

Nature of the course: Theory
Total Credit: 1 (1 hour per week)
Course Code: DWIT-S6-003

 

COURSE OVERVIEW

Composition and Rhetoric is a one-credit course initially aimed at third-year computer science students of DWIT. The idea is to familiarize students with college-level research and argument writing.

Students will learn research analysis, argument strategies, research techniques, and documentation. You will research a topic of your choosing, emphasizing its links to community, society, and citizenship. 

 

PREREQUISITE

Students must have a good command of the English language. 


COURSE GOALS:

  1. to develop your skills in writing, analytical reading, and critical analysis as outlined in the Commons program
  2. to develop your confidence with these skills, preparing you for more effective participation in college-level courses
  3. to develop and enhance your research skills, especially proper and effective use of traditional and electronic sources in a research paper.

 

STUDENT LEARNING OUTCOMES:

  1.  Communicate clearly and effectively through writing
  2.  Identify information needs and locate and evaluate information sources in traditional and electronic form
  3. Analyze and respond to critical readings, annotating the text to identify main points, important details, and draw inferences
  4. Recognize and create valid arguments
  5. Formulate thesis statements and write argumentative research papers
  6. Identify and locate authoritative sources in the library catalog (both print and electronic books), research databases, and the web, using authoritative sources to support the argument
  7. Adapt the writing process to argumentative research writing (planning and drafting their text), peer evaluate others’ texts, and self-evaluate their own written texts in the context of research writing
  8. Know and use MLA or APA documentation, including the creation of the Works Cited page

 

ASSESSMENT METHODS:

Assessment            Weight    
Mid Term Exam 20%
Final Term Exam 30%
Project 50%

 

Nature of the course: Theory + Practical
Total Credit: 1 (1 hour per week)
Course Code: DWIT-S5-001

COURSE SUMMARY

Programming in Java-II is a one-credit course initially aimed at third-year computer science students of DWIT. The idea is to familiarize students with an advanced level of Java programming.

This course reinforces Java basics, including exception handling and event handling. It expands on the Swing GUI components and introduces advanced concepts such as Generics, JDBC, and threads. It will also focus on object design principles, inheritance hierarchies, and the power of polymorphism (dynamic run-time binding).

 

PREREQUISITE 

Before diving into the course students must have a strong hand in basic java.

 

COURSE CONTENT

Unit 1: Graphic User Interface (GUI) development

Unit 2: Design patterns

Unit 3: Error handling approaches

Unit 4: Generics and wildcards

Unit 5: Relational database technologies: JDBC, SQL, and MySQL integration

Unit 6: Multithreading and concurrency

 

COURSE LEARNING OUTCOMES:

The following are the learning outcome of this course 

  1. Knowledge of object-oriented design principles

  2. Design inheritance hierarchies that maximize reusability

  3. Employ interfaces to represent abstractions

  4. Compare abstract classes and interfaces

  5. Develop a complex GUI application

  6. Incorporate JDBC to connect to and interact with a relational database

  7. Develop custom exception classes to support error handling

  8. Use collections to organize data

  9. Evaluate the advantages of generics

  10. Observe the options available for concurrent programming

 

ASSESSMENT METHODS: 

Assessment             

Weight

Mid Term Exam

50%

Project

50%

 

Nature of the course: Theory + Practical
Total Credit: 1 (1 hour per week)
Course Code: DWIT-S1-002

 

COURSE OVERVIEW

Time Management is a DWIT Credit course aimed at first-year BScs and BCA students of DWIT. This gives an overall idea of what’s, why’s and how’s of time management its significance for a computer science student. The course makes students aware of how to save time from their hectic day-to-day activities.

The course will cover various components like what, why, and how to manage the available resource in connection with the available time. The course is designed so as to explore student’s knowledge of Time Management. In this course, students are directly involved in answering the WH Questions mentioned above with the best practice of the participatory approach. The course instructor helps student actively participate in the learning process and tell about a various practical approach to deal with the time management issues.

Following activities are done to advance the classes of 8 to 10 lecture hours. 

  1. Students are divided into four to six groups.
  2. Students give the best names to their group such as the name of the flower, the name of the district, name of an animal.
  3. Students choose the lead of the team.
  4. Each group discusses in the team both in class and do home assignment and answer What, Why and How of the Time Management and send to the teacher for the feedback.
  5. The teacher facilitates the class discussion sessions on the answers and gives his feedback to the group.
  6. The final presentation of each group will be done at the end of the course.
  7. Evaluation is done on the basis of presentation, matter, and methods.

 

PREREQUISITE

There is no prerequisite to this course.

 

COURSE OUTLINE

  • Time Management in students’ perspective.
  • How did the students manage their time in the past and the lessons they learned?
  • Define time management in terms of available time and other resources.
  • Why time management is important? What happens when time is not managed properly?
  • Different time management practices, tips, and tricks.
  • Eisenhower Matrix, Time-Energy-Money at different stages of life are discussed.
  • The morale of better time management practice vs ignoring the time and going ahead in personal life. What happens when a person misses the track of life? Can he/ she come back to normal life? These are discussed with the aid of “Time Management Conduit” a diagram conceptualized and elaborated.
  • Group Presentation in Class on “What the students learned from the class and how they implement the better time management practices”.

 

LEARNING OUTCOME

  1. Students know about time as the most precious gift provided equally by nature to everyone and it is always unique.
  2. They will be made aware that the particular time never comes again once it is passed so how to use it optimally.
  3. They will be able to understand what happens when time is not managed properly in their day-to-day life, in classes, in professions.
  4. They will be able to understand that time management practices vary from person to person based on their interpersonal habits.
  5. It helps students to be prepared for some changes in their working habits and personal habits to best use the available time.

 

ASSESSMENT METHOD

Students will be evaluated on the basis of the final presentation at the end of the course

Nature of the course: Theory + Practical
Total Credit: 2 (2 hours per week)
Course Code: DWIT-S2-004

 

COURSE OVERVIEW

Web development is a two-credit course aimed at first-year computer science students of DWIT. This course aims to develop the foundation of web development using HTML and CSS.

In this course, students will learn all the basic tools that every web development programmer needs to know. The course covers designing a web page from scratch along with creating CSS classes from a beginner's level to a more intermediate level. The course will also cover all the key concepts of HTML such as tags, elements along with declarations, properties, values, and how to include a CSS style sheet with your HTML code.

 

COURSE CONTENT

Unit 1: Getting to Know HTML

Unit 2: Introduction to CSS

Unit 3: Opening the Box Model

Unit 4:  Positioning Content

Unit 5: Working with Typography

Unit 6: Setting Backgrounds & Gradients

Unit 7: Creating Lists

Unit 8: Adding Media

Unit 9: Building Forms

Unit 10: Organizing Data with Tables

 

LEARNING OUTCOMES

At the end of the course, all students will have to submit two projects. A portfolio was created using HTML and CSS and a Blog site was created using Word Press. The project must cover 70% of the course syllabus.

 

ASSESSMENT METHOD

Students will be evaluated on the basis of project work at the end of the semester

COURSE OVERVIEW

NODEJS is a two-credit course aimed at second-year students of BSc.CSIT and BCA.  Node. js is a platform built on Chrome's JavaScript runtime for easily building fast and scalable network applications. Node. js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

 

PREREQUISITE

Students must have a good understanding of the basics and the intermediate concepts of JavaScript such as expressions, loops, scopes, arrays, objects, callbacks, this keyword, etc.

 

COURSE OUTLINE

Introduction (Week 1 – Week 2)

  •  Introduction to Node, Express, and Mongo DB
  •  Environment Setup
  •  Node.js and ES6
  •  Nodemon as a live server

Express (Week 3 – Week 4)

  • Express
  • Create your first Express Route
  • Serving JSON to Client
  • Handling POST, PUT, DELETE requests
  • Postman
  • Understanding HTTP Verbs/Methods
  • Routing (Week 5)
  • Path parameters
  •  Route handlers
  • Express router
  • Router parameters

Middleware (Week 6)

  •  Introduction to Middleware
  •  Logger Middleware
  • More Middleware’s

MongoDB (Week 7- Week 8)

  •  Introduction to Mongo DB and NoSQL
  • Connecting to MongoDB from Express with Mongoose
  • Schema and Models
  • Saving documents
  • Fetching documents
  • Fetching documents by ID
  • Updating documents in MongoDB
  • Mongoose API

 

LEARNING OUTCOME

At the end of the course, students will have the knowledge of

  • Web application frameworks. One of the most essential dependencies of any Node.
  • Security.
  • Package management.
  • Cloud platforms.
  • Source control.

 

ASSESSMENT METHODS

Assessment           Weight  
Mid Term Exam 50%
Project 50%

 

Nature of the course: Theory + Practical
Total Credit: 3 (3 hours per week)
Course Code: DWIT-S5-004

 

COURSE SUMMARY

The course is introduced as a part of the credit course during the junior year III year/the fifth semester. As a micro project, each student will carry out an individual software project and submit the project report. This project aims to provide students an opportunity to bring together and synthesize the concepts from various areas they have learned over the first two years of their study as well as the knowledge and skills they are learning during the third year of their study, and creatively apply them to real-life situations. The students are expected to conduct their project through careful planning, research, and execution of the tasks while developing critical judgment, communication skills, and competence in the subject area. The reasons to have this project as an individual project are to provide an opportunity for students to do something of their interest, and also to encourage them for independent learning. Moreover, an individual project also prevents ‘social loafing’ and ‘polarization’, which are prevalent in such project work.

 

PREREQUISITE AND PROGRESS CONDITIONS 

  • Students are assumed to have gained sufficient knowledge in the software and other tools required to undergo the project.
  • Students are recommended to decide on a project topic with a realistic objective.
  • Students are recommended to study journal papers, conference papers, research articles, and project reports to become familiar with literature review, objectives, and report writing.
  • Student must get their project idea/proposal approved by the project review committee before they start to work on it.
  • Students must make the following oral presentations: project idea presentation, project progress review defense, and project final demo and defense.
  • As a part of the project work, students must write and submit a project report, which has to meet the requirements specified by the college. This report shall be an academic work that must be related to and includes the theory and practices that the students have implemented in their project.
  • Students must deliver a working software project that is described in the accepted proposal.

 

COURSE OBJECTIVES

After completing this project work, the students are expected to be able to know the basics of project-based work and be able to carry out an independent development software project. In further detail, the students should be able to fulfill the following objectives:

  • To develop a basic ability to define project objectives, evaluate the background critically, and gain a comprehension of the context for the work.
  • To understand the software requirements (both functional and non-functional requirements) and acquire limited ability to elicit and analyze actual requirements from the end-users and other stakeholders.
  • To acquire knowledge and develop skills to use modeling languages (e.g., Unified Modelling Language) to design software architecture. 
  • To know the basic concepts related to software quality assurance and can take them into account in project work. By this, the students should be able to design suitable test cases and use them for software testing.
  • To know and select the main software tools that are related to project work and be able to use these tools also in practice.
  • To understand the basics of successful project working practices, project scheduling, and reporting.
  • To present project outcomes through presentation and in the technical report.
  • To take into account ethical requirements related to project work.
  • To learn independently through self-reflection and evaluation of their own work processes, and develop the ability to take appropriate actions to improve it.

 


ASSESSMENT

Each student will be provided with a supervisor and he/she will be examined the project. Marks are divided into the following way, along with the weightage:

Internal evaluation (At the mid and the end of Project work by a supervisor, HOD/coordinator): contributes 100% to the overall mark

See Appendix 1 for detail on overall marks distribution as well as a breakdown of each of the milestones along with marks associated with it.

 

KEY MILESTONES

Project work normally covers an entire semester. The project initiation starts right at the beginning of the semester and should be completed by the time the mark sheets are shared with the students for that semester.

  • Project Work Orientation
    • 1st-2nd week of commencement of Semester
      • The concerned faculty. This is important as will pave the path for college's expectation from the students in doing this project. The concerned faculty must clearly explain the evaluation criteria of the whole project as well as each milestone.
  • Title Defense
    • 2 weeks from the start of the semester.
  • Final Presentation ( Internal )
    • 10-12 weeks from the start of the semester
  • Report Submission
    • 12-14 weeks from the start of the semester

PROJECT DEFENSE

  • Defense Review Committee - All members of the committee to place comments and rank the projects in either ‘Accepted’, ‘Rejected ‘, or ‘Accepted with Modification’.
  • Those not in the Accepted category represent their ideas. The same process is to be followed.
  • Each session must be evaluated by at least 2 evaluators and marks updated in the project sheet.

 

ACADEMIC MISCONDUCT

It is often found that students try to gain an unfair advantage with their assignments by following the path of academic misconduct. This is unacceptable behavior and the supervisor of the academic project should acknowledge and should try to prevent the following misconducts:

 

  • Plagiarism is an act when a student presents ideas, text, data, pictures, or other output as their own work without giving a credit to or referencing the original author.
  • Collusion is when two or more students are involved to present identical assignments with minor modifications presenting as their own work.
  • Personation is completing the assignment of one student by another student.

 

OVERALL MARK ALLOCATION

Milestones   Marks  
Initial Title Defense   20
Mid-Progress Review   10
Final Presentation - (With Product Demo)      30
Project Report   30
Supervisor's Evaluation   10
Total   100

 

Breakdown of each milestone

 

Initial Title Defense

Area of Evaluation           Marks    
Topic Selection     5
Presentation     5
Technical Viability     5
Q&A     5

Mid-Progress Review

Area of Evaluation                       Marks  
Overall Technical Progress Made                   5

Clarity Since 1st Presentation / Defense

Suggestions Incorporated

  5

 

Final Presentation (With Product Demo)

Area of Evaluation   Marks  
Completeness of the Product   10 
Detailed Explanation of Working of the Product           15
Q&A    5

 

Final Report

Area of Evaluation   Marks  
Overall Formatting (Numbering, Citations, etc.)         10
Contents (Section Contents)    20

 

Supervisor’s Evaluation

Area of Evaluation   Marks  
Consultation Sought, Suggestions           5
Timely Follow-up   5

 

Nature of the course: Theory + Practical
Total Credit: 3 (3 hours per week)
Course Code: DWIT-S6-001 

 

COURSE SUMMARY

DWIT Project - II is a three-credit course aimed at VI semester students of BScCSIT. This course initiates students to implement their knowledge into a practical environment. The nature of this project guides students in extending their skills applicable to research study, analysis of the requirements, design, and implementation, testing, maintenance, and deployment into the real environment. It includes both theoretical as well as practical approaches.

The main goal of this course is to develop the skills associated with analysis design and the development of meaning and efficient real-world application.

 

COURSE CONTENTS

  1. Problem Identification
  2. Problem Specification
  3. Analysis and Design
  4. Implementation
  5. Testing
  6. Maintenance and Deployment

The content of this course is divided into six different phases; the students will first involve themselves in identifying a problem that needs to be addressed. Such a problem needs to be specified precisely and several solutions need to be prescribed in which the most viable will be selected. The selected proposed solution now has to be analyzed properly and design. This might involve the use of tools depending upon the nature of the problem and environment. The design should be implemented using the different platforms of their choice. The project should be followed by testing when the implementation gets completed. Maintenance should be done when necessary and

deployed in the real environment.

 

ASSESSMENT

Each student will be provided with a supervisor and he/she will be examined the project. Marks are divided into the following way, along with the weightage:

Internal evaluation (At the mid and the end of Project work by a supervisor, HOD/coordinator): contributes 100% to the overall mark

See Appendix 1 for detail on overall marks distribution as well as a breakdown of each of the milestones along with marks associated with it.

 

KEY MILESTONES

Project work normally covers an entire semester. The project initiation starts right at the beginning of the semester and should be completed by the time the mark sheets are shared with the students for that semester.

 

  • Project Work Orientation
    • 1st-2nd week of commencement of Semester
      • The concerned faculty. This is important as will pave the path for college's expectation from the students in doing this project. The concerned faculty must clearly explain the evaluation criteria of the whole project as well as each milestone.
  • Title Defense
    • 2 weeks from the start of the semester.
  • Final Presentation ( Internal )
    • 10-12 weeks from the start of the semester
  • Final Presentation ( External, only if it is TU Project)
    • 10-12 weeks from the start of the semester
  • Report Submission
    • 12-14 weeks from the start of the semester

 

PROJECT DEFENSE

  • Defense Review Committee - All members of the committee to place comments and rank the projects in either ‘Accepted’, ‘Rejected ‘, or ‘Accepted with Modification’.
  • Those not in the Accepted category represent their ideas. The same process is to be followed.
  • Each session must be evaluated by at least 2 evaluators and marks updated in the project sheet.
  • Not more than 12 participants can present in one session.

 

PRESENTATION SESSION GUIDELINES

The date for the presentation session will be defined by the faculty in charge. All participants and evaluators must be notified a week before the actual presentation date. The faculty in charge can decide to conduct the session either offline or online.

Each participant will be given a specific amount of time to present an idea, a milestone followed by a specific amount of time for Q/A.

All presentations MUST be made in a presentation template provided by the faculty in charge.

Evaluations for the project must be made by the evaluators within two business days of presentation.

 

ACADEMIC MISCONDUCT

It is often found that students try to gain an unfair advantage with their assignments by following the path of academic misconduct. This is unacceptable behavior and the supervisor of the academic project should acknowledge and should try to prevent the following misconducts:

 

  • Plagiarism is an act when a student presents ideas, text, data, pictures, or other output as their own work without giving a credit to or referencing the original author.
  • Collusion is when two or more students are involved to present identical assignments with minor modifications presenting as their own work.
  • Personation is completing the assignment of one student by another student.

OVERALL MARK ALLOCATION

Milestones   Marks  
Initial Title Defense   20
Mid-Progress Review   10
Final Presentation - (With Product Demo)             30
Project Report   30
Supervisor's Evaluation   10 
Total   100

 

BREAKDOWN OF EACH MILESTONE

INITIAL TITLE DEFENSE

Area of Evaluation   Marks  
Topic Selection   5
Presentation   5
Technical Viability                5
Q&A   5

MID-PROGRESS REVIEW

Area of Evaluation   Marks  
Overall Technical Progress Made   5

Clarity Since the 1st Presentation/ Defense Suggestions

Incorporated

  5

 

FINAL PRESENTATION (WITH PRODUCT DEMO)

Area of Evaluation   Marks  
Completeness of the Product   10
Detailed Explanation of Working of the Product       15
Q&A   5

 

FINAL REPORT

Area of Evaluation   Marks  
Overall Formatting (Numbering, Citations, etc.)         10
Contents (Section Contents)   20

 

SUPERVISOR’S EVALUATION

Area of Evaluation   Marks  
Consultation Sought, Suggestions           5
Timely Follow-up   5

 

Nature of the course: Theory + Practical
Total Credit: 1 (1 hour per week)
Course Code: DWIT-S3-003

COURSE OVERVIEW

Programming in Java-I is a one-credit course aimed at third-year computer science students of DWIT. The idea is to familiarize students with an intermediate level of Java programming. This course explores the Java language and fundamentals including introducing array, array operation, and two-dimensional array. In addition, it includes Java statements and operators which are not covered in Java I such as branching statements, “?” operator and bitwise operators, binary representations and ASCII values, and so on.

 

PREREQUISITE 

Basics of programming language

 

COURSE CONTENT

  • Introduction to Java Programming

  • Introduction to Java Programming

  • Java Keywords and Identifiers

  • Java Syntax.

  • Java Program Structure.

  • Comments in Java

  • Modifiers in Java.

  • Java Data Types.

  • Variables in Java.

  • Operators in Java

  • Java Control Flow – Decision Making Statements.

  • Java Control Flow – Looping Statements.

  • Java Control Flow – Branching Statements.

  • Java Strings

  • Java Characters

  • Java – Date and Time

  • Java Arrays

  • Java Array List

  • Java IO – Read User Input.

  • Java IO – File Handing.

  • Java Methods – User Defined Methods

  • Java Methods – Built-in Methods

  • Exception Handling in Java

  • Java Object-Oriented Programming – Inheritance.

  • Java Object-Oriented Programming – Polymorphism.

  • Java Object-Oriented Programming – Abstraction.

  • Java Object-Oriented Programming – Encapsulation.

 

LEARNING OUTCOMES:

On the completion of the course, students will be able to develop

  • Desktop GUI Applications

  • Web Applications

  • Enterprise Applications (Banking, ERP, Ecommerce, etc,)

  • Mobile Applications

  • Scientific Applications

  • Embedded Systems

  • Big Data Technologies

  • Distributed Applications

  • Gaming Applications

 

 

ASSESSMENT METHODS:

 

Assessment          

Weight

Mid Term Exam

50%

Project

50%

 

Nature of the course: Theory + Practical
Total Credit: 1 (1 hour per week)
Course Code: DWIT-S4-005

 

COURSE OVERVIEW

Arduino Platform and Programming a one credit course aimed at Second year computer science students of DWIT. The Arduino is an open-source computer hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them. Students will learn to program the microcontroller in Arduino platform. In addition to this various hardware and circuitry needed for embedded system design, automation and Internet of Things is discussed. Students will also learn about shields, which are smaller boards that plug into the main Arduino board to perform other functions such as sensing light, heat, GPS tracking, or providing a user interface display. The course will also cover programming the Arduino using C code and accessing the pins on the board via the software to control external devices.

 

PREREQUISITE

Student should know basic knowledge of programming and computer hardware.

 

COURSE CONTENT     

  • Introduction to Internet of things
  • Introduction to Arduino platform and programming
  • Arduino platform based microcontrollers.
  • Pin details and interfacing
  • Analog /Digital Signals
  • Hardware and circuitry
  • Serial communication

 

LEARNING OUTCOME

Upon completing this course, you will be able to:

  • Outline the composition of the Arduino development board
  • Read board schematics
  • Install Arduino IDE
  • Compile and run a program
  • Explain the structure of an Arduino sketch
  • Access the pins of the Arduino
  • Differentiate between digital and analog pin
  • Debug embedded software
  • Analog and digital access
  • Sensors and interface
  • Serial communication

 

ASSESSMENT METHODS:

Assessment Marks
Assignment 50%
Project 50%

 

Nature of the course: Theory + Practical
Total Credit: 2 (4 hours per week)
Course Code: DWIT-S4-006

COURSE OVERVIEW

This course is intended for students in learning the overall understanding of cloud computing concepts, independent of specific technical roles. It provides a detailed overview of cloud concepts, cloud core services, security, pricing, and support.

 

PREREQUISITE

Students should know the basics of computer networks and databases.

 

COURSE CONTENTS

Chapter 1: Cloud Concepts Overview (2 hrs)

Introduction to cloud computing, advantages of cloud, cloud service providers, cloud services, moving to the cloud

Chapter 2: Cloud Economics and Billing (4 hrs)

Fundamentals of pricing, total cost of ownership (TCO), billing and cost management, technical support models

Chapter 3: Global Infrastructures Overview (2 hrs)

Global Infrastructure, cloud services and service categories

Chapter 4: Cloud Security (4 hrs)

Introduction, shared responsibility model, identity and access management, securing a new account, securing accounts, securing data, working to ensuring compliance

Chapter 5: Networking and Content Delivery (6 hrs)

Introduction, networking basics, virtual private cloud (VPC), VPC networking, VPC security, domain services, content delivery service 

Chapter 6: Compute (6 hrs)

Compute services overview, compute services cost optimization, container services, introduction to serverless architecture and services

Chapter 7: Storage (6 hrs)

Types of cloud storages, block storage, object storage, file storage

Chapter 8: Database (4 hrs)

Types of cloud database, relational database, NOSQL database, data warehouse

Chapter 9: Autoscaling, Load Balancing and Monitoring (6 hrs)

Load balancing, autoscaling and monitoring services

 

COURSE LEARNING OUTCOMES:

On completion of this course, students should be able to:

  1. Learn fundamentals of cloud computing and cloud services
  2. Gain an understanding of the importance of cloud
  3. Develop skills in different cloud services
  4. Boost the urge to implement their ideas

ASSESSMENT METHODS:

Assessment Weight Learning Outcomes
    1 2 3 4
Mid Term Exam   20% ✔     ✔
Final Term Exam   30% ✔ ✔   ✔
Project 50% ✔ ✔ ✔ ✔

 

Nature of the course: Theory + Practical
Total Credit: 2 (2 hours per week)
Course Code: DWIT-S5-003

 

COURSE OVERVIEW

This course is code-intensive and hands-on with a focus on an intuitive and thorough understanding of the concepts and algorithms involved in modern Data Science using the Python programming language. This course will teach the students to perform data analysis in Python in a professional manner, following the industry best practices, standards, and norms. 

 

PREREQUISITE

The student should have basic knowledge/skills about programming and mathematics. 

 

COURSE CONTENTS

Chapter 1: Fundamentals of Python Programming (8 hrs)

Introduction to Python variables, Data types, Type conversion, Python Operators, Lists, Conditionals, Loops, Functions, Lambda functions, Tuples, Sets, Dictionary, Object-oriented Programming in Python

Chapter 2: Basic Statistical Concepts (4 hrs)

Mean, Median, Mode; Standard deviation, variance; Intro to Probability, Probability, distributions: Uniform Distribution, Gaussian Distribution; Correlation, Covariance, multivariate covariance; Histograms

Chapter 3: NumPy (Numerical Python Library) (6 hrs)

Numpy arrays: array attributes, array indexing, slicing, accessing multi-dimensional arrays, reshaping arrays, array concatenation and splitting; Computation on NumPy arrays: Universal functions (Ufunc); Advanced Ufunc features: aggregates; Computation on Arrays: Broadcasting, Comparison, Masks, and Boolean Logic; Fancy indexing, Fancy indexing in multiple dimensions, Combined indexing

Chapter 4: Data Manipulation with Pandas (8 hrs)

Pandas objects: Series objects, DataFrame objects, Index objects; Data indexing and selection in Series and DataFrame; Indexers: loc and iloc; Operating on Data in Pandas: Ufuncs: Index preservation, Ufuncs: Index alignment, Ufuncs: Operations between DataFrame and Series; Handling Missing Data, Combining Datasets: Merge and Join, Relational Algebra, Categories of Joins, Specification of the merge key, Specifying Set arithmetic for Joins, Aggregations and Grouping

Chapter 5: Data Visualization with Matplotlib (4 hrs)

Setting styles; How to display plots; Interfaces: Matlab-style interface, Object-oriented interfaces; Simple Line plots; Adjusting the plot: Line colors, styles, Axes limits, labeling, Simple Scatter plots; Histograms: Binnings, and Density; Multiple subplots; Visualization with Seaborn package

 

COURSE LEARNING OUTCOMES:

On completion of this course, student should be able to:

  1. get a thorough understanding of the basic constructs of the Python programming language

  2. get an intuitive understanding of the basic concepts of statistics

  3. perform data analysis of real world data using Python libraries with visualization using a methodical approach 

  4. draw meaningful insights from the data analysis performed

 

ASSESSMENT METHODS:

 

Assessment

Weight

Learning Outcomes

   

1

2

3

4

Mid Term Exam

20%

   

Final Exam

30%

 

Assignments

10%

Quizzes

5%

   

Project

35%

Nature of the course: Theory

Total Credit: 2 (2 hours per week)

Course Code: DWIT-S3-004

COURSE OVERVIEW

This course helps students to develop their communicative skills in academic and professional context which enables them to compete for a technical career and also perform effectively in their desired profession. It also aids them to understand how important role effective communication plays in their workplace. In addition, students will also learn various forms of employment communication, proposal writing and report writing.

PREREQUISITE

Students should possess basic knowledge of effective writing and basic communication processes.

COURSE CONTENTS

Chapter 1: Introduction of Technical Writing (3 Hrs)

Introduction, You are a Technical Writer, Characteristics, How Technical Writing Compares to Other Writing.

Chapter 2: Audience, Purpose and Writing Process (5 Hrs)

Introduction, Understanding Audience’s Needs, Planning Your Documents Purpose and Medium, A process for Technical Writing; Planning Drafting and Revising.

Chapter 3: Brief Correspondence (5 Hrs)

Introduction, Text Messages, Emails, Memos and Letters, Audience, Prewriting, Formatting, Composing.

Chapter 4: Employment Communication (5 Hrs)

Introduction, Formatting and Organizing Resumes, Types of Resumes, Composing Resumes and Employment Letters.

Chapter 5: Proposal Writing (5 hrs)

Introduction, Definition and Purpose, Types, Characteristics, Structure of Proposals, Formal and Informal Proposals.

Chapter 6: Report Writing (5 hrs)

Introduction, Different Types of Report, Stages in Writing Report, The Terms of Reference, Planning Your Report, Collecting and Organizing Information, Structuring Your Report, Common Elements of Report, Style of Writing, Checklist.

Chapter 7: Ethics in Workplace (2 Hrs)

Introduction, what is Ethics? Creating a Culture of Ethics, What Do You Do When Faced with Ethical Dilemma? Why is it so Difficult to Behave Ethically?

COURSE LEARNING OUTCOMES:

On completion of this course, student should be able to:

Learn different forms of technical writing.

  1. Develop skills to write effective letters, proposals and reports.

  2. Enhance the workplace writing skills and implement it.

ASSESSMENT METHODS:

Assessment

Weight

Mid Term Exam

20%

Final Term Exam

30%

Writing Task

50%

Nature of the course: Theory + Practical

Total Credit: 2 (2 hours per week)

Course Code: DWIT-S1-001

COURSE OVERVIEW

To familiarise the student with high-level programming programs and languages. There will be a focus on developing computer programming skills.

 

PREREQUISITE

Students should have the basic knowledge of computer system and mathematics.

 

COURSE OUTLINE

1.      Unit 1: Introduction to C (3 hrs)

1.      Programming Languages

i.                 Low Level Languages (Machine Level and Assembly Language)

ii.                High Level Language

2.      Translators

3.      History of C

4.      Characteristics of C

5.      Structure of a C program

2.      Unit 2: Elements of C (4 hrs)

1.      C character set

i.                 Alphabets

ii.                Digits

iii.              Special Characters

2.      Execution Characters/ Escape Sequences

3.      Delimiters

4.      Reserved words/ Keywords

5.      Identifiers

6.      Data Types

7.      Constants

i.                 Numeric Constant (Integer and Real Constants)

ii.                Character Constants

iii.              String Constants

iv.              Symbolic Constants

8.      Variables

i.                 Declaration of Variables

ii.                Initialization of Variables

9.      Expressions

10.  Statements

11.  Comments

3.      Unit 3: Input-Output in C (2 hrs)

1.      Conversion Specification

2.      Reading Input Data

3.      Writing Output Data

4.      Formatted Input and Output

i.                 Format for integer input and output

ii.                Format for floating point numeric input and output

iii.              Format for string input and output

5.      Character I/O

i.                 getchar() and putchar()

4.      Unit 4: Operators and Expressions (4 hrs)

1.      Arithmetic Operators

2.      Integer Arithmetic

3.      Floating-Point Arithmetic

4.      Mixed Mode Arithmetic

5.      Assignment Operators

6.      Increment and Decrement Operators

7.      Relational Operators

8.      Logical or Boolean Operators

9.      Conditional Operators

10.  Comma Operator

11.  Sizeof Operator

i.                 Implicit Type Conversion

ii.                Automatic Conversion

iii.              Type Conversion in Assignment

iv.              Explicit Type Conversion or Type Casting

12.  Precedence and Associativity of Operators

13.  Role of Parenthesis in evaluating expression

5.      Unit 5: Control Statements (4hrs)

1.      Compound Statement or Block

2.      If…else

i.                 Nesting if…else

ii.                Else if Ladder

3.      Loops

i.                 While loop

ii.                do…while loop

iii.              For loop

iv.              Nesting of loops

v.                Infinite loops

4.      Break Statement

5.      Continue Statement

6.      goto

7.      Switch

6.      Unit 6: Functions (5 hrs)

1.      Library Functions

2.      User-Defined Functions

3.      Function Definition, function call, function declaration

4.      Return Statement

5.      Function Arguments

6.      Types of Functions

7.      Local, Global and Static Variables

8.      Recursion

7.      Unit 7: Arrays (6 hrs)

1.      Introduction to Array

2.      Types of Array (Single Dimensional and Multidimensional)

3.      Declaration and Memory Representation of Array

4.      Initialization of array

5.      Character Array and Strings

6.      Reading and Writing Strings

7.      Null Character

8.      String Library Functions (string length, string copy, string concatenation, string compare)

 

 

LEARNING OUTCOMES

1.      To demonstrate an ability to use basic control flow syntax to produce working solutions to problems in a programming language.

2.      To reason about simple algorithms, selecting or creating algorithms to solve specific and generalized problems

3.      To understand the need for and begin to use practices such as code testing, documentation and version control in professional programming environments.

ASSESSMENT METHOD

Assessment

Weight

Assignment + Lab

20%

Final Term Exam

30%

Project

50%

Nature of the course: THEORY+PRACTICAL

Total Credit: 2 (2 hours per week)

Course Code: DWIT-S2-005

 

COURSE OVERVIEW

The Interactive Media Design course takes a design-centric approach to user interface and user experience design. The main motive of this course it to provide practical, skill-based training oriented on visual communication rather than marketing or programming alone.

This course focuses on the aspects of the UI/UX development process, from user research to establishing a project’s strategy, scope and information architecture, to generating sitemaps and wireframes.

 

PREREQUISITE

The prior knowledge in any designing application would be beneficial.

 

COURSE OUTLINE

1. Unit 1: Introduction to Product Design Course - User Interface

History, Carrier, Introduction to User Interface, Relationship between UI and UX, UI Vs. Frontend Designers, Roles in UI / UX

 

2. Unit 2: Interface Conventions

Historical Overview of Interface Design, Interface Conventions: Theory, Interconventions: Applications, The Golden Rule, Template Vs Content, Aesthetics and Functionality

 

3. Unit 3: Elements of an Interface

Design before Design, Look and Feel, Language as a Design Tool, Colors and Shapes, Imagery, Typography and Icons, Buttons, States and Changes, Speed and Style, Composition and Structure

 

4. Unit 4: Foundations of User Experience - Problem Definition

Pro designer mindset - Design as a problem solving tool, Introduction to Design Thinking, Design Process Overview, Product Development Life Cycle, Design File Organization, Importance of Equity Focused Design

 

5. Unit 5: Graphic Design for Web

Introduction to Photoshop, Color Contrast and Accessibility, Typography: Hierarchy, Titles and Body, Style and Layout, Imagery, Grids and Styles, Exporting Files

 

6. Unit 6: Introduction to Figma

Ideation, Web Apps Vs Native Apps, Intro to Figma and Design System, Community and Plugins, Frames, Grid System, Gutters, Layers, Text Styles, Components, Variants, Autolayout, Neomorphism, Glassomorphism,  Prototyping

 

7. Unit 7: Case Study

Introduction to Case Study, Project Summary, Challenge or Problem Statement, Goals, Research and Analysis, User Interviews, Pain Points, Personas, User Flow, Storyboards / Sketches / Wireframes, Visual Design and Prototype, Testing Validations and usability

 

8. Unit 8: HTML/CSS

Introduction to HTML, Elements, Attributes, Headings, Styles, Formatting, Colors, Links, Images, Tables, Block and Inline Elements, Forms, Introduction to CSS, Selectors, CSS Values, Declarations, CSS Units, CSS Box Models, CSS Media Queries, CSS Library

 

LEARNING OUTCOMES

  1. Identify and describe various types of User Interface
  2. Learn Principles of Visual Design, Perception and Cognition that inform effective interaction Design
  3. Describe and explain their User Interface Design Process
  4. Learn how to design Web and Mobile Applications
  5. Able to prepare a case study of the complete design system
  6. Learn how to generate design ideas, techniques for quickly prototyping them

 

 

ASSESSMENT METHOD

ASSESSMENT

WEIGHT

Assignment + Lab

30%

Mid Term Exam

30%

Project

40%

This course is totally designed to provide extra hours to enhance the programming skills on C.

Nature of the Course:

Theory + Lab

Total Credit:

2

Course Overview:

This course is designed to introduce students to fundamental concepts in algorithmic problem-solving using the C programming language. By focusing on C, students gain an understanding of core programming constructs, memory management, which are essential skills for developing efficient algorithms.

Prerequisite:

No prior programming knowledge required (introductory level)

Learning Outcomes:

1. Understand fundamental algorithmic concepts such as iteration, recursion, sorting, and searching.

2. Learn and apply C programming constructs to solve problems efficiently.

3. Develop critical thinking and analytical skills by approaching problems systematically.

Assessment Method:

1. Weekly coding assignments and quizzes

2. Midterm and final exams focusing on algorithm implementation

 

 

Nature of the Course:

Theory + Lab

Total Credit:

2

Course Overview:

This course introduces students to the core concepts, technologies, and best practices required to build responsive, accessible, and user-friendly websites. This course covers the foundational languages of web development, including HTML, CSS, and JavaScript, enabling students to create and style web pages while incorporating interactive elements.

Prerequisite

None (suitable for beginners) 

Course Outline:

Chapter 1. Introduction to Web Development

Chapter 2. HTML Fundamentals

Chapter 3. Introduction to CSS

Chapter 4. Introduction to CSS Framework

Chapter 5. JavaScript Basics

Chapter 6: Project Implementation and Presentation

Learning Outcomes:

1. Understand the fundamental structure and technologies of the web.

2. Learn to create and structure web pages using HTML.

3. Apply CSS for styling and layout to enhance user experience.

4. Develop basic interactivity using JavaScript.

Assessment Method:

1. Weekly coding assignments and quizzes

2. Midterm and final exams focusing on algorithm implementation

 

 

 

 

 

Nature of the Course:

Theory + Lab

Total Credit:

2

Course Overview:

This course is designed for students with a foundational knowledge of web development, taking them through advanced JavaScript concepts, version control, and a deep dive into the React.js framework. The course concludes with advanced React techniques, including component lifecycle management, culminating in a capstone project where students build a complete web application from scratch.

Prerequisite:

Web I: Fundamentals of Web Development

Course Outline:

Chapter 1. Introduction to Version Control System with Git

Chapter 2. Advanced Javascript for Frameworks

Chapter 3. React.js Fundamentals

Chapter 4. State Management, Hooks & Navigation

Chapter 5. Global State Management with Context API

Chapter 6. Advanced React and Component Lifecycle

Chapter 7: Project Implementation and Presentation

Learning Outcomes:

1. Master the fundamentals and advanced techniques of Git for version control and collaborative work.

2. Develop proficiency in advanced JavaScript, focusing on concepts that support modern frameworks.

3. Understand the foundational and advanced features of React.js for building component-based applications.

4. Implement state management and handle complex state scenarios using hooks and the Context API.

5. Gain insight into the React component lifecycle and advanced component patterns. Apply acquired skills to create, present, and deploy a fully functional web application.

Assessment Method:

1. Weekly coding assignments and quizzes

2. Final project demonstrating proficiency in building a responsive, accessible web page

Nature of the Course:

Theory

Total Credit:

1

 

Total Credit:

2

Course Code:

This course provides a comprehensive introduction to computer networking and cybersecurity, essential fields in modern technology and digital communications. Students will start by exploring the basics of network structures, protocols, and models, progressing to more advanced topics such as IP addressing, subnetting, and network diagnostics. Through practical labs, students will learn how to configure networks, use diagnostic tools, and apply subnetting and CIDR calculations in real-world contexts. The second half of the course focuses on cybersecurity essentials, introducing concepts such as DNS, firewalls, and foundational security practices. Students will gain hands-on experience in protecting web applications and networks, including an overview of Python scripting for cybersecurity, DDoS mitigation techniques, and securing web elements like cookies and sessions. By the end of the course, students will be able to implement vulnerability assessments and apply security countermeasures, providing a solid foundation in both networking and cybersecurity principles.

Course Outline:

 

1. Introduction to Computer Networks

2. OSI and TCP/IP Models

3. Types of Networks and Protocols

4. IP Addresses (IPv4) +Classes

5. Classless Inter-Domain Routing (CIDR)

6. Subnet Masking and Calculations

7. Subnetting in Practice

8. Diagnostic Tools

9. Domain Name System (DNS)

10. Introduction to Firewalls

11. Introduction to Cybersecurity and Project Setup

12. Networking Essentials

13. Python Scripting for Cybersecurity

14. Introduction to DDoS Attacks

15. Implementing DDoS Countermeasures

16. Web Security Basics - Cookies and Sessions

17. Securing Cookies and Sessions

18. Introduction to SQL Injection

19. Mitigating SQL Injection Vulnerabilities

20. Vulnerability Assessment and Reconnaissance

21. Comprehensive Security Review

Learning Outcomes:

1. Introduce foundational concepts of computer networks, including types of networks, protocols, and essential models like OSI and TCP/IP.

2. Provide a solid introduction to cybersecurity principles, including key vulnerabilities, threats, and security practices.

3. Introduce best practices for web security, covering vulnerabilities such as SQL injection, DDoS attacks, and the importance of secure cookies and sessions.

4. Enable students to conduct vulnerability assessments and reconnaissance to strengthen network and application security.

Assessment Method:

1. Assignment + Lab

2. Mid Term Exam

3. Final Term Exam

 

Nature of the Course:

Theory + Lab

Total Credit:

2

Course Overview:

This coursefamiliarize students with the concept of high-level programming languages. Understand the core language that most modern languages are based on.

Prerequisite:

None (suitable for beginners)

Course Outline:

1. Introduction to C

2. Elements of C

3. Input-Output in C

4. Operators and Expressions

5. Control Statements

6. Functions

7. Arrays

Learning Outcomes:

1. Understand and apply C syntax, including data types, operators, control structures, and functions to write structured programs.

2. Develop skills to design and implement algorithms, enhancing problem-solving abilities.

Assessment Method:

1. Assignment + Lab

2. Mid Term Exam

3. Final Term Exam