Mobile Programming - Syllabus
Embark on a profound academic exploration as you delve into the Mobile Programming course () within the distinguished Tribhuvan university's BCA department. Aligned with the BCA Curriculum, this course (CACS351) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60+20+20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.
This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.
Course Description
This course provides the comprehensive knowledge related to the Mobile programming, which encompasses integrated development environment, infrastructure, design, and develop and testing of mobile application, which communicate with database to solve real word problem.
Course Objectives:
The general objectives of this course is to develop mobile application that solve real word problem with use of current mobile technology.
Units
Key Topics
-
Introduction to Computers
IN-01An overview of computers and their significance in today's world. This topic sets the stage for understanding the basics of computers.
-
Digital and Analog Computers
IN-02Understanding the difference between digital and analog computers, their characteristics, and applications.
-
Characteristics of Computers
IN-03Exploring the key characteristics of computers, including input, processing, storage, and output.
-
History of Computers
IN-04A brief history of computers, from their inception to the present day, highlighting key milestones and developments.
-
Generations of Computers
IN-05Understanding the different generations of computers, including their features, advantages, and limitations.
-
Classification of Computers
IN-06Categorizing computers based on their size, functionality, and application, including desktops, laptops, and mobile devices.
-
The Computer System
IN-07An in-depth look at the components of a computer system, including hardware and software.
-
Applications of Computers
IN-08Exploring the various applications of computers in different fields, including business, education, and healthcare.
Key Topics
-
Android Layout Types
DE-01Understanding different types of layouts in Android such as Linear, Relative, Table, Absolute, and Constraint layouts.
-
Layout Attributes
DE-02Learning about various attributes that can be used to customize and configure Android layouts.
-
Android Widgets
DE-03Exploring different types of Android widgets such as TextView, EditText, Checkbox, RadioButton, Spinner, and their attributes.
-
Event Handling
DE-04Understanding how to handle events and respond to user interactions in Android applications.
-
Working with Strings and String Arrays
DE-05Learning how to work with strings, string arrays, and colors in Android applications.
-
Working with Resources and Drawables
DE-06Understanding how to work with resources and drawables in Android applications.
-
Adding Icons to the Project
DE-07Learning how to add icons to an Android project and customize the user interface.
Key Topics
-
Activity Life Cycle
AN-1Understanding the different stages of an activity's life cycle, including creation, start, resume, pause, stop, and destroy. This topic covers the methods that are called during each stage.
-
Creating Multiple Activities
AN-2Learning how to create multiple activities in an Android application, including defining and implementing separate activities for different tasks.
-
Declaring Activities in the Manifest
AN-3Understanding how to declare activities in the AndroidManifest.xml file, including specifying the activity's name, label, and intent filters.
-
Connecting Activities with Intents
AN-4Learning how to use intents to connect activities, including creating and sending intents, and handling intent requests.
-
Passing Data Between Activities
AN-5Understanding how to pass data between activities, including using intent extras, bundles, and shared preferences.
-
Getting a Result Back from a Child Activity
AN-6Learning how to get a result back from a child activity, including using startActivityForResult() and onActivityResult().
-
Getting and Setting Data to/from the Layout File
AN-7Understanding how to get and set data to and from the layout file, including using findViewById() and setting UI component properties.
Key Topics
-
UI Flexibility
UI-1The importance of having flexible user interfaces in mobile applications. Understanding the need for adaptable UI designs.
-
Introduction to Fragments
UI-2An overview of UI fragments, their purpose, and benefits in mobile app development.
-
Fragment Lifecycle
UI-3Understanding the different stages of a fragment's lifecycle, from creation to destruction.
-
Creating a UI Fragment
UI-4A step-by-step guide to creating a UI fragment, including layout design and XML coding.
-
Creating a Fragment Class
UI-5Defining a Java class for a fragment, including methods and variables.
-
Wiring Widgets in a Fragment
UI-6Connecting UI widgets to their corresponding Java methods in a fragment.
-
Introduction to Fragment Manager
UI-7Understanding the role of the fragment manager in managing multiple fragments in an activity.
-
Activity vs Fragments
UI-8Comparing and contrasting activities and fragments in mobile app development.
-
Introduction to Menus
UI-9An overview of menus in mobile applications, including their types and uses.
-
Implementing Menus
UI-10A step-by-step guide to implementing menus in a mobile application.
-
Introduction to Dialogs
UI-11An overview of dialogs in mobile applications, including their types and uses.
-
Creating a Dialog Fragment
UI-12A step-by-step guide to creating a dialog fragment, including layout design and Java coding.
-
Setting a Dialog's Content
UI-13Defining the content and layout of a dialog fragment.
Key Topics
-
History of Linux
LI-1Overview of the development and evolution of the Linux operating system.
-
Kernel Modules
LI-2Understanding kernel modules, their types, and their role in extending Linux kernel functionality.
-
Process Management
LI-3Managing processes in Linux, including process creation, synchronization, and termination.
Key Topics
-
Active Database Concepts and Triggers
AD-1This topic covers the concepts of active databases, including triggers, and their applications in advanced database systems.
-
Temporal Database Concepts
AD-2This topic explores the concepts and techniques of temporal databases, which manage time-varying data and support temporal queries.
-
Spatial Database Concepts
AD-3This topic introduces the concepts and techniques of spatial databases, which manage spatial data and support spatial queries and analysis.
-
Multimedia Database Concepts
AD-4This topic covers the concepts and techniques of multimedia databases, which manage multimedia data such as images, audio, and video.
-
Deductive Database Concepts
AD-5This topic explores the concepts and techniques of deductive databases, which use logical rules to derive new information from existing data.
-
Introduction to Information Retrieval and Web Search
AD-6This topic provides an introduction to the concepts and techniques of information retrieval and web search, including indexing, querying, and ranking.
-
Multitasking
AD-7Multitasking in 80286 architecture allows multiple tasks to run concurrently, improving system performance and responsiveness.
Key Topics
-
.NET and ASP.NET Frameworks
IN-001Overview of .NET and ASP.NET frameworks including .NET, .NET Core, Mono, ASP.NET Web Forms, ASP.NET MVC, ASP.NET Web API, and ASP.NET Core.
-
.NET Architecture and Design Principles
IN-002Fundamentals of .NET architecture and design principles that guide the development of .NET applications.
-
Compilation and Execution of .NET Applications
IN-003How .NET applications are compiled and executed, including the roles of CLI, MSIL, and CLR.
-
.NET Core in Detail
IN-004In-depth exploration of .NET Core, including its features, benefits, and use cases.
-
.NET CLI
IN-005Using .NET CLI to build, run, test, and deploy .NET Core applications, including its commands and options.
-
Integrated Windows Authentication
IN-006Authenticating users using their Windows login credentials.
-
Cookies
IN-007Storing small pieces of data on a user's device to track their interactions with a web application.
-
File Handling
IN-008Managing files on a web server, including uploading, downloading, and manipulating files.
-
Form Handling
IN-009Processing and validating user input from HTML forms in a web application.
-
Storyboard and View Controllers
IN-010Using storyboards to design user interfaces and understanding view controllers.
-
Working with Widgets and Attributes
IN-011Using widgets and attributes to customize UI elements in iOS applications.
-
Creating a Simple iOS Application
IN-012Building a simple iOS application from scratch, integrating UI and code.
Lab works
Laboratory Works
Laboratory works should be done covering all the topics listed above and a small project work should be carried out using the concept learnt in this course. Project should be assigned on individual basis.