0% found this document useful (0 votes)
67 views

6 Semester S.N O Subjec T Code Subject Name Hours Per Week Marks Cred Its

This document outlines the courses for the 6th semester of a computer science program. It lists 10 courses along with their course codes, credit hours, and brief descriptions. The core courses cover topics like Theory of Computation, Software Project Management, and Computer Graphics. Students also choose an elective course and lab from options related to Software Testing or Linux Programming. The semester aims to provide both theoretical and practical learning to students through a mix of lecture, tutorial, and lab hours across the various subjects.

Uploaded by

kashishbhatia
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views

6 Semester S.N O Subjec T Code Subject Name Hours Per Week Marks Cred Its

This document outlines the courses for the 6th semester of a computer science program. It lists 10 courses along with their course codes, credit hours, and brief descriptions. The core courses cover topics like Theory of Computation, Software Project Management, and Computer Graphics. Students also choose an elective course and lab from options related to Software Testing or Linux Programming. The semester aims to provide both theoretical and practical learning to students through a mix of lecture, tutorial, and lab hours across the various subjects.

Uploaded by

kashishbhatia
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

6TH SEMESTER

S.N SUBJEC
O
T CODE

SUBJECT NAME

Hours
Per
Week

Marks

Cred
its

IN
T

EX
T

Tot
al

CST321

THEORY OF COMPUTATION

40

60

100

3.5

CST322

SOFTWARE PROJECT
MANAGEMENT

40

60

100

CST323

COMPUTER GRAPHICS

40

60

100

3.5

HUT324

ENGINEERING ECONOMICS
& PRINCIPLES OF
MANAGEMENT

40

60

100

ELECTIVE I

40

60

100

3.5

4
5
6

CSP325

COMPUTER GRAPHICS LAB

60

40

100

CSP326

SOFTWARE PROJECT
MANAGEMENT LAB

60

40

100

ELECTIVE- I LAB

60

40

100

8
9

CSP327

SEMINAR

10
0

100

10

HUP601

VERBAL ABILITY & SOFT


SKILLS

1
5

1
1

48
0

42
0

90
0

22.5

TOTAL

ELECTIVE I
S.N
O.
1
2

SUBJECT
CODE
CST331 and
CSP334
CST332 and
CSP335

SUBJECT NAME
SOFTWARE TESTING & QUALITY ASSURANCE AND
SOFTWARE TESTING & QUALITY ASSURANCE LAB
LINUX PROGRAMMING AND LINUX PROGRAMMING LAB

Theory of Computation (CST321)


L T P Credit
3 1 - 3.5
Total Hours: 48
Course Objectives:
To understand the concept of formal languages and their relation with finite automata.
To study and design different finite automata.
To study context free grammars and ambiguity related issues.
To gain familiarization with Push- Down Automata and Turing Machines.
To explore relationship between different classes of formal languages.
UNIT -I
Introduction: Basic Terminology: Alphabet, Formal Language and operations on formal
languages, Examples of formal languages.
[4]
Finite automata : Concept of Basic Machines, Properties and Limitations of Finite State
Machines, Deterministic Finite Automata(DFA),Non-Deterministic Finite Automata(NFA),
Equivalence of DFA and NDFA , Non-Deterministic Finite automata with -Transitions. [7]
Regular expression: Regular Languages and Regular Expressions, Kleens Theorem. Ardens
Method.
[5]
UNIT II
Properties of Regular sets: The Pumping Lemma for Regular sets, Application of the Pumping
Lemma, Closure Properties of Regular Sets, Myhill- Nerode Theorem and Minimization of
Finite Automata, Minimization Algorithm.
[6]
Finite Automata with output : Moore and Mealy Machines. Equivalence of Moore and Mealy
Machines.
[4]
Context Free Grammars: Examples and Definitions, Derivation trees and ambiguity, An
Unambiguous CFG for Algebraic Expressions. Regular Grammar, Simplified forms and Normal
forms: Removal of useless symbols and unit production, Removal of -moves, Chomsky Normal
Form (CNF), Griebach Normal Form (GNF).
[7]
UNIT-III
Pushdown Automata : Introduction and Definition of Push-Down Automaton , Applications of
Push Down Automata.
[4]

Turing Machines: Definitions and Examples, Deterministic and Non- Deterministic Turing
Machines, Unsolvable Problems: A Nonrecursive Language and an Unsolvable Problem, PCP
Problem and MPCP Problem.
[6]
More General Languages and Grammars: Recursively Enumerable and Recursive Languages,
Unrestricted grammars, Context sensitive Language and grammar. Relation between languages
of classes, Chomsky hierarchies of grammars.
[5]
Text Books:
1.

Martin J.C., Introduction to Languages and Theory of Computation, Tata McGrawHill Publising Company Limited, 3rd Edition.
2. Hopcroft J.E. and Ullman J.D., Introduction to Automata Theory Languages and
Computation, Narosa Publications.
Reference Books:
1. Sipser, Theory Of Computation , Cengage Learning.
2. Daniel I.A. Cohen, Introduction to computer Theory, John Wiley.
Instructions for paper setter.
The syllabus has been divided into three equal units. The paper setter is required to set Ten
questions in all, three questions from each unit and a compulsory question consisting of five sub
parts and based on the whole syllabus. The candidate will be required to attempt six questions
including the compulsory question number no 1 and not more than two questions from each unit.

CHANDIGARH UNIVERSITY, GHARUAN


Software Project Management (CST322)
L T P Credit
3 - - 3
Total Hours: 48
Course Objectives:
To study software planning and scheduling methods.
To detail various software auditing and testing techniques.
To learn about Risk analysis and management.
To study software quality concepts and standards.
UNIT-I
Introduction to Project Management: The characteristics of software projects, Objectives of
project management: time, cost and quality, Basics of Project Management, Stakeholders, Stages
of Project, The Feasibility Study, Cost-benefit Analysis, Planning, Project Execution, Project and
Product Life Cycles, Project Management Knowledge areas, Project Management Tools &
Techniques, Project success factors, role of project manager.
[5]
Project Management & Planning: System view of project management,
Understanding organizations, stakeholders management, project phases & project life
cycles. Why planning is necessary, Iterative steps for planning, Project Plan documentation
methods, Software Requirement Specification.
[4]
Measurement and Control: Measurements for project Monitoring, what and when to measure,
Plan versus Control, managing the plan, The Deadline Effect. Reviews, feedback and reporting
mechanisms, revisiting the plan.
[4]
Project Scope Management: Scope Planning & Scope management plans, Function point
calculation, Scope definitions & project scope statement, Work Breakdown Structure (WBS),
WBS dictionary, scope verification, scope control.
[4]
UNIT-II
Time Management: Project time management, activities sequencing, network diagrams, activity
recourse estimation, activity duration estimation, schedule development, Gantt Charts, Critical
path method,Programme evaluation & review technique (PERT) and CPM, concept of slack
time, schedule control.
[4]
Project Cost management: Basis principles of cost management, Cost estimating, type of cost
estimate, cost estimate tools & techniques, COCOMO, Putnam/ SLIM model Estimating by
Analogy, cost budgeting, cost control, earned value management, project portfolio management.
[5]

Project Quality Management: Quality Planning, quality Assurance, Quality control, Tool &
techniques for quality control, Pareto Analysis, Six Sigma, CMM, ISO
Standards, Juran Methodology.
[3]
Project
Human
Resource
Management:
Human
resource
planning,
project organizational charts, responsibility assignment metrics, acquiring project team, resource
assignment, resource loading, resource levelling, Different team structures developing project
teams.
[4]

UNIT-III
Project Communication Management: Communication Planning, Performance reporting,
managing stakeholders, Improving project communication.
[3]
Project risk management: Risk Management planning, common sources of risk, risk
identification, risk register, qualitative risk analysis, using probability impact matrixes,
expert judgement, qualitative risk analysis, decision trees & expected monetary value,
simulation, sensitivity analysis, risk response planning, risk monitoring & control.
[6]
Project procurement management: Procurement management plans, contract statement of
work, planning contracts, requesting seller responses, selecting sellers, administrating the
contract, closing the contract.
[3]
Software Configuration Management: Why versions exist, why retain versions, SCI, Releases
vs. version. Change Control and Management.
[3]
Text Books:
1. Mohapatra, Software Project Management, Cengage Learning.
2. Schwalbe Kathy ; Information Technology Project Management fourth edition,
Thomson Course Technology.
3. Hughes Bob and Cotterell Mike , Software Project Management, Third Edition, Tata
McGraw-Hill.
References:
1.Jalote Pankaj , Software Project Management in Practice, Pearson Education.
2. S.A. Kelkar, Software Project Management, A Concise Study, Revised Edition, PrenticeHall India.
.
Instructions for paper setter.
The syllabus has been divided into three equal units. The paper setter is required to set Ten
questions in all, three questions from each unit and a compulsory question consisting of five sub
parts and based on the whole syllabus. The candidate will be required to attempt six questions
including the compulsory question number no 1 and not more than two questions from each unit.

CHANDIGARH UNIVERSITY, GHARUAN


Computer Graphics (CST323)
LT P

Credits
3 1

0 3.5
Total Hours: 48

Course Objectives:
To understand growing importance of graphics in computer field.
To gain familiarity with basic algorithms and techniques of computer graphics.
To prepare students to design graphics systems and application programs
UNIT- I
Introduction: Origins of Computer Graphics, Interactive Graphics display working, Scan
conversion; Raster and Random scan conversion. Point plotting techniques: Coordinate systems,
Incremental methods, Line drawing algorithms: Simple DDA, Symmetrical DDA, Bresenhams
algorithm. Midpoint circle drawing algorithm, Circle generators.
[8]
Line Drawing Displays: Display devices and Controllers, CRT, Inherent memory devices,
Storage tube display, Refresh line drawing displays.
[3]
2-D Transformations:
Transformation principles, Homogeneous coordinate systems,
Concatenations, Matrix representations of transformations.
[5]
UNIT-II
Clipping and Windowing: Point clipping, Line clipping algorithms: Cohen Sutherland
algorithm, Midpoint subdivision algorithm. Polygon clipping, Viewing transformations,
Windowing transformations.
[6]
Graphics Packages: Ground rules for graphics software design, Functional domains, Graphic
primitives, Windowing functions, miscellaneous functions, Display code generator.
[4]
Interactive Graphics: Graphical input devices: Pointing and Positioning devices, Mouse,
Tablets, light pen, 3-D Input devices, Comparators. Graphical input techniques: Positioning
techniques, Pointing and Selection, Inking and Painting, On-line character recognition.
[6]
UNIT-III
Solid Area Scan Conversion: Geometric representation of areas, Scan converting polygons,
Priority, The Y-X algorithm, Properties of scan conversion algorithms.
[4]
3-D Graphics: Curves and Surfaces: Parametric functions, Bezier methods and B-Spline
methods. Three dimensional transformations, Perspective transformations, Perspective depth. [6]

Hidden Surface Elimination: Basic approaches, Depth Buffer algorithm, Scan line coherence
algorithms, Area coherence algorithms, Priority algorithms.
[6]
Text Books:
1. Newman, William M., Sproull, Robert F., Principles of Interactive Computer Graphics,
Tata McGraw Hill Company, 2nd Edition.
2. Hearn, D., Baker M. P. ,Computer Graphics, Pearson education.
3. Xiang Z., Plastock R., Computer Graphics, Schaums outlines, Tata Mcgraw Hill
Companies.
Reference Books:
1. Harrington, S., Computer Graphics: A Programming Approach, Tata McGraw Hill.
2. Roggers, D.F., Procedural Elements for Computer Graphics, Tata McGraw Hill.
Instructions for paper setter.
The syllabus has been divided into three equal units. The paper setter is required to set Ten
questions in all, three questions from each unit and a compulsory question consisting of five sub
parts and based on the whole syllabus. The candidate will be required to attempt six questions
including the compulsory question number no 1 and not more than two questions from each unit.

CHANDIGARH UNIVERSITY, GHARUAN


Engineering economics & Principles of Management (HUT324)
LTP
Credits
3 - - 3
Total Hours: 48
Course Objectives:
To co-relate students knowledge in management concepts with engineering situations.
To lay a foundation for further studies in business management.
UNIT-I
Engineering Economics: Introduction to engineering economics, nature, scope & importance of
economics in engineering.
[4]
Fundamentals of Demand: Determinants of demand, Law of Demand and its Exceptions,
elasticity of demand-price ,income & cross elasticity. Objectives of demand forecasting, steps in
demand forecasting & methods of demand forecasting.
[6]
Break Even Analysis: Meaning of break even analysis, assumptions of breakeven analysis,
equation method & graphical representation to find breakeven point, advantages & limitations of
break even analysis, Economic Order Quantity.
[7]
UNIT-II
Economic Analysis Of Investment: Meaning of economic analysis of investment or capital
budgeting, process of capital budgeting ,factors affecting capital investment decisions,
techniques used in economic analysis of investment; pay back period method, rate of return
method, net present value method, internal rate of return method, profitability index method. [6]
Depreciation: Concept of depreciation in industry, causes of depreciation, types of depreciation
& methods of collecting depreciation.
[4]
Introduction to Management: Definition, Process, Functions, Skills and Traits of Effective
Managers. Evolution of Management thoughts Contribution of F.W. Taylor, Henry Fayol, Elton
Mayo, and Hawthorne studies. Management Approaches - System approach, Contingency
approach, MBO, TQM, Six Sigma
[6]
UNIT-III
Planning & Organizing: Meaning & process of planning, types of plans, Importance of
planning in industry, process & significance of organizing, formal & informal organization,
principles of organizing, span of management
[4]

Staffing,: Manpower planning, Recruitment & Selection, Training & overview of Performance
Appraisal, Career Planning & Development.
[6]
Directing & Controlling Factors affecting motivation, financial & non-financial motivators,
benefits of motivation, Maslow & Herzberg theory of motivation, meaning & process of
controlling, importance of controlling in an in industry.
[5]
Text Books:
1
2

Koontz, O'Donnell, Weigh rich: Essentials of Management, Tata Mcgraw Hill , New
Delhi.
Dwivedi, D.N., Principles of economics, Vikas Publishers, New Delhi.

Reference Books:
1 Daft, New Era Of Management, Cengage Learning.
2 Ghuman Karminder and K Aswathappa, Management Concepts, Practice and Cases,
Tata McGraw Hill, New Delhi.
Instructions for paper setter.
The syllabus has been divided into three equal units. The paper setter is required to set Ten
questions in all, three questions from each unit and a compulsory question consisting of five sub
parts and based on the whole syllabus. The candidate will be required to attempt six questions
including the compulsory question number no 1 and not more than two questions from each unit.

CHANDIGARH UNIVERSITY, GHARUAN


Computer Graphics Lab (CSP325)
-

- 4

LT P
2

Credits

Course Objectives:
To study line , circle using different algorithm in graphics.
To experience the various clipping algorithms.
To study different curves using graphics.
UNIT-I
1. To draw a line using Simple DDA, Symmetrical DDA and Bresenhams Algorithm for
positive line slope.
2. To draw a line using Simple DDA, Symmetrical DDA and Bresenhams Algorithm for
negative line slope.
3. To draw a line, triangle and circle using functions of graphics.h header file.
4. To display simple shapes (Like hut, star, car etc.) using graphics primitives
5. To perform translation, scaling and rotation transformations on a given triangle.
6. To rotate a given triangle clockwise and anticlockwise about a given point.
UNIT-II
7. To perform reflection of a point about a line y= mx+c.
8. To draw a circle with a given center and radius using midpoint circle algorithm.
9. To draw a circle with a given center and radius using circle generator algorithm.
10. To display 4-bit region code for end points of a line and check whether line is completely
on the screen or off the screen.
11. To clip a line intersecting at one point with given window using Cohen Sutherland Line
Clipping algorithm.
12. To clip a line intersecting at Two or more points with given window using Cohen
Sutherland Line Clipping algorithm.
UNIT-III
13. To display the result of window to viewport transformation.
14. To calculate and display blending functions for Bezier Curves.
15. To draw a Bezier curve passing through four control points.
16. To calculate and display blending functions for B-Spline Curves
17. To draw a B-Spline curve.
18. To read and display an image of given size in BMP format.
Note: Above programs should be implemented using C/C++.

CHANDIGARH UNIVERSITY, GHARUAN


Software Project Management Lab (CSP326)
L T P Credits

- 2

Course Objectives:
To learn Software Quality Control Techniques
To optimize Software Testing.
To understand verification & validation techniques.
Note: Students are required to design and develop a Project / CASE STUDY following all the
Phases of Software Development Life Cycle.

CHANDIGARH UNIVERSITY, GHARUAN


Elective 1 - Software Testing and Quality Assurance (CST331)
L T P Credits
3 1 0 3.5
Total Hours: 48
Course Objectives:
To understand the different methods and techniques of software testing and quality
assurance
To learn tracking of bugs in the software
To plan and design various test cases and to use different test tools
To develop error free and quality software.
UNIT I
Fundamentals and Testing types: First, second and later cycles of testing. Objectives and limits
of testing, Overview of S/W development stages, Planning and Design stages and testing during
these stages. Glass box code, Regression and Black box testing, Software errors, Categories of
software error.
[7]
Reporting and analyzing bugs: Problem reports, Content and Characteristics of Problem
Report, analysis and Tactics for analyzing a reproducible bug. Making a bug reproducible
[5]
Problem Tracking System: Objective of Problem Tracking System, tasks of the system,
Problem tracking overview, users of the tracking system, mechanics of the database
[4]
UNIT II
Test Case Design: Characteristics of a good test, equivalence classes and boundary values,
visible state transitions, Race conditions and other time dependencies, load testing. Error
guessing, Function equivalence testing, Regression Testing, General issues in configuration
testing, printer testing.
[8]
Testing Tools and Test Planning: Fundamental tools, Automated acceptance and regression
tests, standards, Translucent box testing Overall objective of the test plan: product or tool?
Detailed objective, type of test, strategy for developing components of test planning documents,
components of test planning documents, documenting test materials
[7]
UNIT III
Software Quality Assurance Concepts and Standards : Concepts of software quality, quality
attributes, software quality control and software quality assurance, Quality Concepts, Quality
Control, Quality Assurance, SQA Activities, Software Reviews, Formal Technical Reviews,
Review Guidelines, Software Reliability, Software Safety, Quality Assurance Standards, ISO

9000, ISO 9001:2000, ISO 9126 Quality Factors, CMM, TQM, Six Sigma, SPICE, Software
Quality Assurance Metrics.
[8]
Quality related issues: S/W Development tradeoffs and models, Quality-related costs, The
development time line, Product design, alpha, Pre-beta, Beta, User Interface freeze, Pre-final,
Final integrity testing, Project post-mortems, Legal consequences of defective software,
Managing and role of a testing group, independent test agencies
[9]
Text Books:
1. Cem Kaner, Jack Falk,Hung Quoc Nguyen, Testing Computer Software, Wiley, (Second
Edition).
2. William E. Perry, Effective Methods for Software Testing, John Wiley & Sons.
3. Boris Beizer ,Software Testing Techniques, Second Edition, Dreamtech.
Reference Books:
1. Rex Black, Managing the Testing Process: Practical Tools and Techniques for
Managing Hardware and Software Testing .
2. Daniel Galin, Software Quality Assurance from Theory to Implementation, Pearson
Education.
Instructions for paper setter.
The syllabus has been divided into three equal units. The paper setter is required to set Ten
questions in all, three questions from each unit and a compulsory question consisting of five sub
parts and based on the whole syllabus. The candidate will be required to attempt six questions
including the compulsory question number no 1 and not more than two questions from each unit.

CHANDIGARH UNIVERSITY, GHARUAN


Elective 1 - Linux Programming (CST332)
L T P CREDITS
3 1 0 3.5
Total Lectures: 48
Course Objectives:
To define the basic concepts of Linux and shell programming.
To learn System administration issues and commands
To understand Shell structure and commands.
To discuss Linux file system and file commands
UNIT I
Installation and Hardware configuration: Creating an Installation Diskette, Booting Linux
Installation Program, Partitioning Hard Drive(s), Setting up Swap Space Choosing Partitions to
Format Booting with LILO, Multi-boot with Other Operating Systems.
[8]
Getting started: Basic concepts of Linux, their features and advantages, Architecture of Linux,
Files, directories, subdirectories, and processes, Filters and little languages: grep, cut, paste, tr,
sort, shift, vi, sed, awk.
[8]
UNIT II
Introduction to Linux Files: Rules for creating files, Linux Files system, File printing,
searching files using grep, change permission to set files and change owner of the files. Process,
Listening with ps, killing with kill, PID, UID, GID, Signals, nice, renice.
[8]
General Administration issues: root account, Creating user in Linux, Changing password,
deleting user, disabling user account, Linux Password & Shadow File Formats System Shutdown
and Restart creating groups, Custom Configuration and Administration Issues, Simple
commands.
[8]
UNIT III
Introduction to Shell and editors: Definition, Types of Shell, Feature and benefits of Shell. I/O
redirection and Piping, pipes, filters, Introduction to various text editor, various Vi editing
modes, scrolling, yank and paste, put and delete, set commands, Comparison of Emacs Editor, vi
Editor, Pico Editor.
[8]
Shell programming: Environmental & user defined variables, Argument Processing, Shells
interpretation at prompt, Arithmetic expression evaluation, Control Structure Redirection,

Background process & priorities of process, Conditional Execution,


substitution.

Parameter & quote


[8]

Text Books:
1. Ellen Siever, Robert Love and Arnold Robbins, Linux in Nutshell, Fifth Edition, Oreilly
Media.
2. Kurt Wall, Mark Watson, Mark Whitis, Linux Programming, Third Edition, SAMS
Techmedia.
3. Mark Sobell, Practical Guide to Linux Programming, Pearson Education.Unix Shell
Programming, Kochan and Wood, Sams.
Reference Books:
1. Understanding Unix/Linux Programming, Molay, Prentice Hall.
2. Machtelt Garrels, Introduction to Linux-A Hands on Guide, Addison Wisley.
3. J.Purcell, Linux Complete Command Reference, Red Hat Software, Mcgrawhill.
4. Haviland and Salama ,Unix System Programming, Addison Wesley.
5. Gray, Interprocess Communications in Unix, Prentice Hall.
Instructions for paper setter.
The syllabus has been divided into three equal units. The paper setter is required to set Ten
questions in all, three questions from each unit and a compulsory question consisting of five sub
parts and based on the whole syllabus. The candidate will be required to attempt six questions
including the compulsory question number no 1 and not more than two questions from each unit.

CHANDIGARH UNIVERSITY, GHARUAN

Elective 1: Software Quality and Testing Techniques Lab (CSP334)


L T P Credits
- - 2 1
Course Objectives:
To learn use of testing automation tool- Rational Functional Tester.
To study difference between manual & automation testing.
To implement test cases on classics Application.
UNIT I
1. To implement test cases on classics application to become familiar with the sample
application.
2. To record a simple script using the sample application for getting started with IBM rational
functional tester.
3. To set up regular expressions for dynamic values (pattern based recognition technique).
4. To play back scripts, call another script from an existing one and view results setting up the
preferences.
UNIT II
5.
6.
7.
8.
9.

To select the type of Test Log Output (HTML, TXT, Test log in TestManager) and insert
delays in the script.
To insert Timers in the script and user defined log entries.
To create custom classes and functions (Helper classes).
To import user defined packages and classes.
To create, use, display and modify a test object map.

UNIT III
10. To control Object-matching sensitivity and set up pattern based object recognition.
11. To run the Regression tests and import data from CSV files.
12. To create data pools and connect them to scripts.
13. To record troubleshooting and tips.
14. To record scripts to test HTML applications.

CHANDIGARH UNIVERSITY, GHARUAN


Elective 1: Linux Programming Lab (CSP335)
L T P Credits
- - 2 1
Course Objectives:
To work with different editors.
To administer the Linux System
To hand on practice on shell programming.
UNIT I
1.
2.
3.
4.
5.

Login to a Linux system using secure shell.


Define and understand absolute verses relative path names using commands.
Run basic commands from the shell prompt.
Get help for known commands.
Define the purpose of the shell using basic commands.

UNIT II
6. Create, change and remove directories.
7. Use file name substitution at the command line.
8. Define and use in a command line redirection and piping
9. Use standard in, standard out and standard error on a command line
10. Use the vi editor using various commands
UNIT III
11. Create regular expressions and know when and how to use them.
12.

Change owner, group and permissions at the command line

13. Create a shell script and execute it.


14. Create system variables and know how and when to use them in a shell script.
15.

Use of command arguments in a shell script.

16.

Use looping and decision statements in a shell script

17.

Allow a shell script to prompt the user and get information from the command line.

You might also like