0% found this document useful (0 votes)
15 views4 pages

SCS 108 Programming With Frameworks Course Outline

Comp science insights on frameworks

Uploaded by

skixotech
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views4 pages

SCS 108 Programming With Frameworks Course Outline

Comp science insights on frameworks

Uploaded by

skixotech
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Unit Code & Title SCS 108: PROGRAMMING WITH FRAMEWORKS

Prerequisite unit None

Lecturer Name Muriithi Njoroge

Contact Email [email protected]

Telephone 0720694935

1.0 Purpose of the Course

The purpose of the Programming with Frameworks course is to provide students with a comprehensive
understanding of utilizing frameworks to streamline and expedite software development processes. This
course aims to equip students with the skills and knowledge necessary to leverage popular frameworks
effectively in various software engineering projects. By exploring the principles, features, and best practices
associated with frameworks, students will learn to develop robust, scalable, and maintainable software
solutions efficiently.

2.0 Expected Learning Outcomes

At the end of the course, the learner should be able to:

i) Gain proficiency in utilizing popular frameworks for software development across various domains
ii) develop a deep understanding of key concepts such as inversion of control (IoC), dependency injection
(DI), aspect-oriented programming (AOP), and other design patterns commonly used in framework
development.
iii) Proficient in building dynamic and responsive user interfaces and web applications using front-end
frameworks.
iv) Development of robust and scalable server-side applications using back-end frameworks.
v) Gain proficiency in integrating object-oriented models with relational databases using ORM frameworks.
vi) Implement security features in software applications using authentication

3.0 Course Content

Week Topic Areas


Week 1 Introduction to • Overview of software frameworks and their role in
Frameworks software development
• Benefits and challenges of using frameworks
• Comparison between libraries and frameworks
• Activity: Discussion on the advantages and
limitations of frameworks
Week 2 Key Concepts and • Language: Programming Language: Paradigms
Principles • Inversion of Control (IoC) and Dependency Injection
(DI)
• Aspect-Oriented Programming (AOP)
• Design patterns commonly used in framework
development
• Activity: Hands-on demonstration of IoC and DI
using a sample framework
• CAT 1

Week 3 Introduction to Frontend • Overview of popular front-end frameworks: React.js,


Frameworks Angular, Vue.js
• Component-based architecture and Single-Page
Applications (SPAs)
• Activity: Setting up a basic project with a chosen
front-end framework
Week 4 Building User Interfaces • Hands-on experience with UI components
with Frontend Frameworks • State management and event handling
• Activity: Develop a simple interactive web
application using React.js or Angular
Week 5 Introduction to Backend • Overview of back-end frameworks: Express.js
Frameworks (Node.js), Django (Python), Spring Boot (Java)
• RESTful API design principles
• Activity: Build a basic RESTful API using Express.js
or Django
Week 6 Database Integration and • Introduction to Object-Relational Mapping (ORM)
ORM Framework frameworks
• Examples: Hibernate (Java), Entity Framework
(.NET), Sequelize (Node.js)
• Activity: Implement a data model and integrate it
with a relational database using an ORM
Week 7 Full Stack Frameworks • Overview of full-stack frameworks: MEAN
(MongoDB, Express.js, Angular, Node.js), MERN
(MongoDB, Express.js, React.js, Node.js)
• End-to-end web application development
• Activity: Create a basic full-stack web application
Week 8 Advanced Backend • Middleware and error handling
Framework Concepts • Authentication and session management
• Activity: Implement middleware for logging and
error handling
Week 9 Security and • Security frameworks: Spring Security, Passport.js
Authentication • Authentication and authorization principles
Frameworks
• Activity: Add authentication features to an existing
application
Week 10 Testing Frameworks • Unit testing, integration testing, and end-to-end
testing
• Popular testing frameworks: JUnit, NUnit, Jest,
Jasmine
• Activity: Write unit tests for a module using Jest or
JUnit
Week 11 Deployment and DevOps • Integrating CI/CD pipelines
with Frameworks • Deployment strategies on cloud platforms
• Activity: Automate deployment using a CI/CD tool
and a cloud service
Week 12 Best Practices for • Effective use of frameworks in software engineering
Framework-Based projects
Development • Performance optimization and maintainability
• Activity: Refactor an existing project following best
practices
Week 13 CAT 2 / REVISION

4.0 Mode of Delivery


Lectures, practical and tutorial sessions in Computer Laboratory, individual and group assignments,
exercises and project work

5.0 Instructional Materials


Study slides, Conference classes, Overhead projector and compute, white boards, appropriate software and
reference text-books

6.0 Course Assessment

Type Weighting (%)


Examination 70%
Continuous Assessment 30%
Total 100%
7. 0 Reading Materials:

7. 1 Core Reading Materials:

i. Chun, W. (2001). Core python programming (Vol. 1). Prentice Hall ProfessionalXavier C (2008).
Introduction to Computers and Basic programming. New Age International Publishers, ISBN 978-
81-224-2123-1
ii. Kernighan, B. W (2003). The Practice of Programming Addison-Wesley, ISBN 459- 0677005 Zelle,
J. M. (2004). Python programming: an introduction to computer science. Franklin, Beedle &
Associates, Inc..
iii. https://www.javatpoint.com/reactjs-tutorial
iv. https://www.javatpoint.com/django-tutorial
v. https://www.datacamp.com/tutorial/
vi. https://www.javatpoint.com/spring-boot-tutorial

Professional Ethics
1. Punctuality is fundamental and students are required to be in class before the designated time
for the lecture.
2. Active participation in class discussions is encouraged.
3. Let us refrain from signing the attendance register on behalf of colleagues who are not Present.
4. Plagiarism is a serious academic offence and highly discouraged. Plagiarized work shall NOT
be accepted. Notwithstanding the above, collaboration in course work is certainly encouraged as
this promotes team spirit and group synergy, provided originality is preserved.
5. Assignments should be handed in on or before the date they are due. Students can hand in their
assignment through their class representative. Assignments handed in late shall NOT be accepted.

Prepared By: …………………………………………… Signature: ………………..


Lecturer
Date: …………………………….

Approved By: …………………………………………… Signature: ………………..


Chair of Department (CoD)
Date: …………………………….

Stamp

You might also like