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
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
Gain a basic understanding of factors associated with commercial software development
Deeper Insight into components of software - Design / Pricing / Marketing
Develop a project concept based on the above understanding.
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
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
ES6 Features
OOP in JS
JS and DOM
Advance JS - Part1
Advance JS - Part 2
JS Revision and Introduction to Node JS
Node.js Concepts
LEARNING OUTCOMES
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
Unit 1: Introduction to Linux (4hrs)
History
Distributions
Licensing
Installation of VMware/Virtual box
Installation of Linux
Unit 2: Files system and basic operations (12 hrs)
Linux file system tree layout
Basic commands for navigation
Working with files, directories, file contents,
Text Editors (vi, gedit)
help
Unit 3: File/directory permissions/Acl (4hrs)
Unit 4: User and Group management (4hrs)
Unit 5: package management (1hr)
Unit 6: Shell Scripting (5 hrs)
LEARNING OUTCOMES
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
LEARNING OUTCOMES
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:
STUDENT LEARNING OUTCOMES:
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
Knowledge of object-oriented design principles
Design inheritance hierarchies that maximize reusability
Employ interfaces to represent abstractions
Compare abstract classes and interfaces
Develop a complex GUI application
Incorporate JDBC to connect to and interact with a relational database
Develop custom exception classes to support error handling
Use collections to organize data
Evaluate the advantages of generics
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.
PREREQUISITE
There is no prerequisite to this course.
COURSE OUTLINE
LEARNING OUTCOME
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)
Express (Week 3 – Week 4)
Middleware (Week 6)
MongoDB (Week 7- Week 8)
LEARNING OUTCOME
At the end of the course, students will have the knowledge of
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
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:
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 DEFENSE
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:
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
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 DEFENSE
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:
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
LEARNING OUTCOME
Upon completing this course, you will be able to:
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:
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:
get a thorough understanding of the basic constructs of the Python programming language
get an intuitive understanding of the basic concepts of statistics
perform data analysis of real world data using Python libraries with visualization using a methodical approach
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.
Develop skills to write effective letters, proposals and reports.
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
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