Nazimuddin Samad was hacked with machetes at a traffic junction late on Wednesday and then shot, police said.
The 28-year-old was reported to have been an organiser of the Ganajagran Manch, a secular campaigning group.
A string of prominent secular bloggers have been attacked or killed by religious extremists in Bangladesh in the last year.
Bangladesh is officially secular but critics say the government has failed to properly address the attacks.
Who is behind the Bangladesh killings?
Attacks send shockwaves through Bangladesh
The threat of small-scale terror attacks
Police said three assailants on a motorcycle attacked Mr Samad and then shot him, The Dhaka Tribune reported.
Police have not named any suspects in the case nor confirmed a religious motive.
Mr Samad, a student of Jagannath University, regularly wrote against religious extremism on his Facebook page.
He had written "I have no religion" on his profile under religious views.
There have been several deadly attacks in Bangladesh in recent months, although it is not clear who is behind them.
Last year, four prominent secular bloggers were killed with machetes, one inside his own home.
They all appeared on a list of 84 "atheist bloggers" drawn up by Islamic groups in 2013 and widely circulated.
There have also been attacks on members of religious minorities including Shia, Sufi and Ahmadi Muslims, Christians and Hindus.
Two foreigners, an Italian aid worker and a Japanese man, were also shot dead late last year, in seemingly random attacks.
The so-called Islamic State group has said it carried out many of the attacks - but this has not been independently verified.
Members of another militant Islamist group, the Jamaat-ul Mujahideen Bangladesh (JMB), were arrested over an assault on an Italian Catholic priest late last year.

Jordon Saxton, from Faringdon, Oxfordshire, was convicted of the manslaughter of 11-week-old Jayden Saxton, but cleared of his murder.
Jayden died in November after suffering 18 bone fractures as well as multiple brain and spinal injuries, a trial at Oxford Crown Court heard.
Saxton, 21, was sentenced to nine years in prison.
During the two-week trial, jurors heard the baby was living at a flat with his parents and had been left alone with Saxton on 17 November.
They heard that Jayden never recovered from what the prosecution described as a "violent assault", in which he was squeezed so hard several of his ribs were broken.
He was taken to hospital by paramedics, but died the following day.
During the trial, Saxton told the court he had dialled 999 after Jayden stopped breathing and was in a state of panic because he thought something was stuck in his son's throat.
Passing sentence, Mr Justice Rabinder Singh QC, said the baby's death was "undoubtedly a tragedy for everyone concerned".
He told Saxton: "No-one but you will ever know exactly what happened that afternoon.
"I conclude that you acted as you did in frustration at the fact that you could not settle Jayden."
Det Ch Insp Kevin Brown of Thames Valley Police said Jayden's family had been through a "living nightmare" since November.
"The medical and forensic evidence in this investigation proved how Jayden was assaulted, causing him serious bodily harm that led to his death.
"The evidence was clear that Jordan committed manslaughter."
Adrian Foster, chief prosecutor for Thames and Chiltern Crown Prosecution Service (CPS) said it was "impossible to imagine a more vulnerable victim".
He said that old rib fractures also discovered during the post mortem indicated that Jayden had previously been forcibly gripped and shaken between 21 October and 4 November.
"Jordan Saxton denied causing the death of his defenceless son and offered no explanation for how he obtained his injuries," he added.
A Bangladeshi law student who had expressed secular views online has been killed in the capital, Dhaka.
[NEXT_CONCEPT]
A man has been jailed for killing his baby son after squeezing his chest and shaking him.